网站首页 > 技术文章 正文
介绍
Docker的建立基于过去的一系列概念但是它青出于蓝胜于蓝。Docker是创建“容器”的工具,它可以包容你所需要的一系列离散的应用程序和技术栈。不像虚拟机,这些容器共享相同的资源来管理容器和主机之间的交互。 这使得Docker容器更快,更轻,安全,且资源可共享。Docker的生态圈也分为两大类,第一类就是Mesosphere、Google这类做Docker的企业运行集群管理。第二类是做Docker的项目实施或是做Docker开发者公有云。由于Docker天生就是从开发者起家的,缺乏进入企业的基因,Docker的设计就不是运行于企业级环境下。2016年Docker进入企业级的需求,造就了第一类的生态公司,主要就是Mesosphere、Google和Redhat三家,Mesos本来就是部署、集群管理,之前部署Hadoop大数据、批处理、ETL之类的,随着Docker东风吹来,马上支持部署、管理Docker集群,再加一个Marathon管理长周期任务,就可以实现部署应用的CaaS,虽然离PaaS还有很大距离,缺乏很多PaaS功能
生态
容器生态系统包括 容器核心技术,容器平台技术,容器技术支持
容器核心技术:涉及容器规范、容器runtime、容器管理工具、容器定义工具、Registries、容器OS等
容器规范:runtime spec(运行规范)和image format spec(镜像格式规范),runtime spec(运行规范)和image format spec(镜像格式规范)
- Runtime:容器真正运行的地方,runtime和操作系统的kernel紧密协作,为容器提供运行环境。
- 容器管理工具:对内与runtime交互,对外为用户提供interface
- 容器定义工具:允许用户定义容器的内容和属性,使容器能够被保存、共享和创建
- Registry:通过image创建的,存放image的仓库。Docker Hub (https://hub.docker.com/)为公众提供的托管Registry
- 容器OS:专门的容器操作系统,与常规的OS相比,容器OS通常体积更小,启动更快,是专门为容器定制的OS
容器技术平台:容器的核心技术使得容器能够在单个host上运行,而容器平台技术能够让容器作为集群在分布式环境中运行
- 部署编排:基于容器的应用一般会采用微服务架构。这种架构下,应用被划分为不同的组件,并以服务的形式运行在各自的容器中,通过API对外提供服务。为保证应用的高可用,每个组件都可能运行多个相同的容器,这些容器会组成群集,群集中的容器会根据业务需要被动态地创建、迁移和销毁。编排通常包括容器管理、调度、集群定义和服务发现等。通过容器编排引擎,容器被有机地组合成微服务应用,实现业务需求。
1):docker swarm:docker开发的容器编排引擎
2) :Kubernetes:Google领导开发的容器编排引擎,同时支持Docker和CoreOS容器
3) : Mesos:通用的集群资源调度平台,mesos与marathon一起提供容器编排引擎功能。
- 容器管理平台:容器管理平台是架构在容器编排引擎之上的一个更为通用的平台。通常支持多种编排引擎典型代表Rancher和ContainerShip
- 基于容器的Paas:为开发人员和公司提供了开发、部署和管理应用的平台,典型代表Deis、Flynn和Dokku
容器支持技术:被用于支持基于容器的基础设施
- 容器网络:容器的出现使网络拓扑变得更加动态和复杂。用户需要专门的解决方案来管理容器与容器、容器与其他实体之间的连通性和隔离性。Docker network是docker原生的网络解决方案,除此之外还可采用第三方开源解决方案:flannel、weave和calico。不同方案的设计和实现方式不同,各有优势和特点,可根据时间需要来选型。
- 服务发现:动态变化是微服务应用的一大特点。当负载增加时,集群会自动创建新的容器;负载减小,多余的容器会被销毁。容器也会分局host的资源使用情况在不同host中迁移,容器的IP和端口也会随之发生变化。服务发现会保存容器集群中所有微服务最新的信息
- 监控:监控对于基础架构非常重要,而容器的动态特征会对监控提出更多挑战。docker ps/top/stats 是Docker原生的命令行监控工具。Sysdig、cAdvisor/Heapster和Weave Scope是其他开源的容器监控方案
- 数据管理:容器经常会在不同的host之间迁移 Rex-Ray数据管理工具提供保证持久化数据能够动态迁移
- 日志管理:docker原生的日志工具,以及logspout对日志提供了路由功能,可收集不同容器的日志并转发给其他工具进行后处理
- 安全性:OpenSCAP能够对容器镜像进行扫描,发现潜在的漏洞
相关推荐:
猜你喜欢
- 2024-10-10 K8S集群metrics-server组件安装 k8s集群包含哪些组件
- 2024-10-10 第6课 Kubernetes之深入掌握Pod机制及应用
- 2024-10-10 万字长文 | 使用 RBAC 限制对 Kubernetes 资源的访问
- 2024-10-10 Kubernetes:监控指南 kubernetes 监控
- 2024-10-10 《蹲坑学K8S》之21-1:Metrics-Server监控
- 2024-10-10 K8S架构设计及工作流程分析 k8s 结构图
- 2024-10-10 Metrics Server 快速安装 melsoft安装教程
- 2024-10-10 K8S系统的监控及HPA控制器 k8s dashboard 监控
- 2024-10-10 如何通过在多个Vagrant管理的虚拟机上部署多节点Kubernetes集群
- 2024-10-10 Kubernetes集群的自动水平伸缩 kubernetes 自动伸缩
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)