立即咨询

电话咨询

微信咨询

立即试用
商务合作

Docker容器云,带你体验不一样的云计算时代

2020-03-06

容器,容器云的诞生给我们的生活带来了便利,我们已经离不开容器,离不开这个云计算时代了。

我们为什么使用容器

我们为什么使用虚拟机(云主机), 为什么使用物理机? 这一系列的问题并没有一个统一的标准答案,因为以上几类技术栈都有自身最适用的场景,在最佳实践之下,它们分别都是不可替代的。 原本没有虚拟机,所有类型的业务应用都直接跑在物理主机上面。计算资源和存储资源都难于增减,要么就是一直不够用,要么就一直是把过剩的资源浪费掉。所以后来我们看到大家越来越多得使用虚拟机(或云主机),物理机的使用场景被极大地压缩到了像数据库系统这样的特殊类型应用上面。

原本也没有容器,我们把大部分的业务应用跑在虚拟机(或云主机)上面。把少部分特殊类型的应用仍然跑在物理主机上面,但现在所有的虚拟机技术方案,都无法回避两个主要的问题,一个问题是虚拟化Hypervisor管理软件本身的资源消耗与磁盘IO性能降低。另一个是虚拟机仍然还是一个独立的操作系统,对很多类型的业务应用来说都显得太重了,导致我们在处理虚拟机的扩缩容与配置管理工作时效率低下,所以,我们后来发现了容器的好处,所有业务应用可以直接运行在物理主机的操作系统之上。可以直接读写磁盘,应用之间通过计算、存储和网络资源的命名空间进行隔离,为每个应用形成一个逻辑上独立的“容器操作系统”。除此之外,容器技术还有以下优点;简化部署,多环境支持,快速启动,服务编排。易于迁移......

容器技术的一些缺点;仍然不能做到彻底的安全隔离,技术栈复杂度飚升,尤其是在应用了容器集群技术之后,所以如果只是小规模的使用。做实验或测试是可以的,上生产环境需要三思而后行。

容器与容器集群技术的演进

 

Docker容器主要基于以下几点个关键技术实现的:– Namespaces Cgroups技术 – Image镜像

容器引擎容器引擎(Engine)或者容器运行时(Runtime)是容器系统的核心,也是很多人使用“容器”这个词语的指代对象。容器引擎能够创建和运行容器,而容器的定义一般是以文本方式保存的。比如 Dockerfile

Docker Engine ;目前最流行的容器引擎,也是业界的事实标准。RktCoreOS 团队推出的容器引擎,有着更加简单的架。一直作为 Docker 的直接竞争对手存在,是 kubernetes 调度系统支持的容器引擎之一。containerd;这个新的Daemon是对Docker内部组件的一个重构以便支持OCI规范。containerd 主要职责是镜像管理(镜像、元信息等)容器执行(调用最终运行时组件执行)。向上为 Docker Daemon 提供了 gRPC 接口,向下通过 containerd-shim 结合 runC。使得引擎可以独立升级。docker-shim:;him 通过调用 containerd 启动 docker 容器,所以每启动一个容器都会起一个新的docker-shim进程,docker-shim是通过指定的三个参数;容器idboundle目录和运行时(默认为runC)来调用runCapi创建一个容器,runC ;是 Docker 按照开放容器格式标准(OCF, Open Container Format)制定的一种具体实现,实现了容器启停,资源隔离等功能,所以是可以不用通过 docker 引擎直接使用runC运行一个容器的。也支持通过改变参数配置,选择使用其他的容器运行时实现。RunC可以说是各大CaaS厂商间合纵连横、相互妥协的结果。注:RunC在各个CaaS厂商的推动下在生产环境得到广泛的应用。Kubernetes目前基本只支持RunC容器,对于Docker超出其容器抽象层之外的功能。一概不支持,同样,Mesos也通过其Unified Containerizer只支持RunC容器,目前还支持Docker,但是未来的规划是只支持Unified ContainerizerCF也通过Garden只支持RunC,不支持Docker超出RunC之前的功能。

为什么在容器的启动或运行过程中需要一个 docker-containerd-shim 进程呢,其目的有如下几点;– 它允许容器运行时(即 runC)在启动容器之后退出,简单说就是不必为每个容器一直运行一个容器运行时(runC) – 即使在 containerd dockerd 都挂掉的情况下。容器的标准 IO 和其它的文件描述符也都是可用的 – 向 containerd 报告容器的退出状态。

rktcontainerd的区别是什么?一个主要的不同之处是,rkt作为一个无守护进程的工具(daemonless tool),可以用来在生产环境中。集成和执行那些特别的有关键用途的容器,举个例子,CoreOS Container Linux使用rkt来以一个容器镜像的方式执行Kubernetesagent。即kublet,更多的例子包括在Kubernetes生态环境中。使用rkt来用一种容器化的方式挂载volume,这也意味着rkt能被集成进并和Linuxinit系统一起使用,因为rkt自己并不是一个init系统。kubernets支持容器进行部署,其所支持的容器不只是仅仅局限于dockerCoreOSrkt也是容器玩家之一。虽然跟docker比起来还是明显处于绝对下风,但有竞争总要好过没有。

 

容器编排和管理系统

容器是很轻量化的技术,相对于物理机和虚机而言。这意味着在等量资源的基础上能创建出更多的容器实例出来,一旦面对着分布在多台主机上且拥有数百套容器的大规模应用程序时,传统的或单机的容器管理解决方案就会变得力不从心,另一方面,由于为微服务提供了越来越完善的原生支持,在一个容器集群中的容器粒度越来越小数量越来越多。在这种情况下,容器或微服务都需要接受管理并有序接入外部环境。从而实现调度,负载均衡以及分配等任务, 简单而高效地管理快速增涨的容器实例。自然成了一个容器编排系统的主要任务。

容器集群管理工具能在一组服务器上管理多容器组合成的应用,每个应用集群在容器编排工具看来是一个部署或管理实体。容器集群管理工具全方位为应用集群实现自动化,包括应用实例部署,应用更新,健康检查,弹性伸缩。自动容错等等......

容器编排和管理系统界的主要选手KubernetesGoogle 开源的容器管理系统,起源于内部历史悠久的 Borg 系统,因为其丰富的功能被多家公司使用,其发展路线注重规范的标准化和厂商“中立”。支持底层不同的容器运行时和引擎(比如 Rkt),逐渐解除对 Docker 的依赖,Kubernetes的核心是如何解决自动部署,扩展和管理容器化(containerized)应用程序。目前该项目在githubStar数量为43k。 – Docker Swarm: 在 Docker 1.2 版本后将 Swarm 集成在了 Docker 引擎中。用户能够轻松快速搭建出来 docker 容器集群。几乎完全兼容 docker API 的特性,目前该项目在githubStar数量为5.3k。 – Mesosphere MarathonApache Mesos 的调度框架目标是成为数据中心的操作系统。完全接管数据中心的管理工作,Mesos理念是数据中心操作系统(DCOS)。为了解决IaaS层的网络、计算和存储问题,所以Mesos的核心是解决物理资源层的问题,Marathon是为Mesosphere DC/OSApache Mesos设计的容器编排平台,目前该项目在githubStar数量为3.7k

中国市场的表现在中国市场,2017 6 Kubernetes 中国社区 K8SMeetup 。曾组织了国内首个针对中国容器开发者和企业用户的调研,在容器编排工具中,Kubernetes占据了70%市场份额,另外,Kubernetes 平台上运行的应用类型非常广泛。几乎包括了除hadoop大数据技术栈以外的各种类型应用。

   随着容器云的发展,时代的前进,2020年的今天在Docker容器云的引领前行!

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

热门数字化产品

腾讯云实时音视频TRTCTRTC 源自 QQ 音视频团队,是基于 QQ 20多年来的音视频技术积累,在腾讯云上部署售卖的 RTC 云服务。TRTC 支撑了腾讯会议、微信群直播、微信视频号直播、企业微信直播、腾讯课堂、全民K歌等业务是腾讯集团丰富的音视频场景的最佳实践输出。
腾讯云微搭低代码WeDa腾讯云微搭低代码是高效、高性能的低代码开发平台。腾讯云微搭低代码以云开发作为底层支撑,通过行业化模板、拖拽式组件和可视化配置快速构建多端应用(小程序、H5 、PC Web 应用等),免去了代码编写工作,让您能够完全专注于业务场景。
携客云采购管理系统SRM携客云的每个应用功能都经过用户的千锤百炼,无论是大型的集团,或是快速成长的企业,都能够为您企业供应链每个管理环节,找到最佳的业务管理方案,并配置您所需要的管理流程和业务细节。
艺赛旗桌面行为分析CDA艺赛旗桌面行为分析CDA,通过可视化录屏、用户行为数据化和基于大数据的智能行为分析,真实全面的记录“人”的行为,帮助企业防范信息泄露,避免商业欺诈,提高客户服务质量和员工工作效率。便捷、灵活的风险监管策略配置,更准确的定位员工的桌面操作行为和风险行为。
尘锋SCRM系统尘锋SCRM系统传统客户关系管理的基础上,引入社交平台的好友关系,为各行业企业主提供更全面的客户画像洞察,更准确的业务决策分析,更有效的客户运营手段。帮助企业在获客、转化、运营3大环节显著提效,助推企业业绩的持续增长。
为你推荐
2025腾讯产业合作伙伴大会|云巴巴荣获双项大奖,载誉而归

1月16日,2025腾讯产业合作伙伴大会在三亚召开。云巴巴,荣膺“2024腾讯云卓越合作伙伴奖—星云奖”和“2024腾讯云AI产品突出贡献奖”双项大奖

2025-01-17
AGV智能仓选型指南:蓝巨人以柔性仓储破局市场不确定性

蓝巨人AGV智能仓通过柔性仓储技术,助力企业应对市场不确定性,提升仓储灵活性与效率,成为数字化时代供应链升级的关键选择。

2025-07-02
企业如何选择AGV智能仓方案?蓝巨人AI赋能仓储数字化升级

蓝巨人AGV智能仓通过AI驱动的智能物流体系与多设备协同能力,助力企业实现仓储数字化转型,成为兼顾效率提升、成本优化与服务升级的智能化转型优选方案。

2025-07-02
智能运维方案怎么选?听云全链路监控平台以AIOps技术驱动企业降本增效

听云全链路监控平台以AIOps技术为核心,提供智能运维解决方案,助力企业高效解决运维挑战,实现降本增效,是数字化转型企业的优选。

2025-07-02
APP性能监控方案怎么选?听云全一体化平台以多维监测实现用户体验优化

听云全一体化监控平台针对APP性能管理痛点,提供覆盖开发运维全链路的解决方案,通过全链路监控与智能诊断技术,助力企业精准优化用户体验,提升产品竞争力。

2025-07-02
查看更多