容器,你还只用Docker吗?(下)

  • 时间:
  • 浏览:2

在Docker捞过界了,之前 觉得這個不符合企业生产系统的因素,包括后向兼容性、商标有哪些的问题报告 、稳定性有哪些的问题报告 ,于是各CaaS/PaaS生态厂商组建OCI联盟,打造RunC容器引擎,只还要4个简单的容器起停、管理等引擎,把Docker的容器功能一分为二,RunC作为4个简单明了的运行环境,降低多样化度,提升稳定性,适合生产系统。而对于Docker容器的這個功能,则在所一群人的容器抽象层,措施还要去实现,之前 可能Docker一种生活集成了太满功能,不有益于生产环境稳定性要求,各个容器抽象层都采用插件模式,维持容器的简洁性,还要有哪些功能再插入容器,比如还要网络就可不还要插入网络插件,还要存储和卷访问,就插入存储和卷的插件。

和K8s同类,Mesos就说 再只支持Docker容器,之前 对容器进行了抽象,项目名字直接就叫”Unified Containerizer”—统一容器。目前还是支持 Docker 和 Mesos Containerizer 一种生活容器机制,未来就统一到”Unified Containerizer”。架构图如下:

当然,Garden也支持直接部署Docker镜像。

可能OCID过于和Docker Daemon同类,之前 Google又把這個 项目重新命名为—CRI-O(Container Runtime Interface,容器运行时接口,O表示OCI,也就说 RunC的运行时接口),这也反映了Google的心态,一方面通过CRI对容器进行抽象,有哪些容器我都支持,另外加4个O,我重点支持OCI的RunC,显得都有没有白刀子进红刀子出,這個人 细胞层上还是和平共处,之前 显得立意更高,通过容器抽象层进一步标准化容器,RunC就说 标准化容器运行时,CRI把对容器的调用管理等也标准化,潜台词是Docker Daemon是非标准的、独家的。

不得不对Garden的设计多说几句,Garden包括之前 的Warden,从一之前 开始了了英语 的设计就说 容器抽象,使得可不还要支持不同的容器运行时,之前 Garden做了三层抽象,就说 Garden从一之前 开始了了英语 就支持.Net应用,都有通过Windows 2016的容器机制来实现,就说 在.Net运行时模拟了4个容器的实现,就说 Garden支持Windows的几乎所有版本的.Net应用。

Docker作为目前最热的容器开源项目,受到广泛的追捧。之前 也要清醒地看后Docker和容器生态圈的种种争斗,Docker通过注册商标和在Docker中内嵌容器集群管理,挤压生态圈這個公司的生存空间,而受到生态圈联盟以RunC和相应的技术来制约Docker。

随着這個 生态的演进,Docker容器会更多的用于开发、测试环境,而RunC在各个CaaS厂商的推动下会在生产环境得到广泛的应用。

2、Mesos通过UnifiedContainer取代Docker容器管理引擎

五、总结和展望

黑Docker的资料就说 ,所有资料都有出处,有参考内容链接,详见底下的引用。

可能Docker的消极抵制,RunC的发展好像太满为人所知,之前 RunC的发展还是变慢的,RunC一种生活就简单,通过版本的持续的迭代更新,目前可能达到生产可用,之前 主流的PaaS/CaaS纷纷采用。Docker也从1.11之前 开始了了英语 内置RunC容器运行时。

作为容器创业公司,就说 是在Docker的风口成立的,之前 可能Docker一家独大和Docker注册商标的法务有哪些的问题报告 ,可能还没有在风口起飞。应当可不还要考虑在OCI/RunC的生态圈进行相关技术的发展,OCI/RunC的生态圈受到实力强大的几家公司的强力支持,如Google、CF基金会、Pivotal、Redhat、Mesos、CoreOS等。之前 RunC的生态圈还之前 起步,还有很大的发展空间。之前 作为技术创新,对于技术的前瞻性判断非常重要,方向判断正确,一路辛苦味 披荆斩棘,方向判断错误,一路辛苦也是前程堪忧。

除了RunC一种生活的发展,RunC的生态圈也在快速发展,這個 生态圈就脱离了的Docker。比如最近的Riddler,就说 4个把Docker容器转换为RunC镜像。

1、RunC也是Docker的,用Docker和用RunC都有一样的吗?

用RunC大慨让他4个干净简单的容器运行时,用Docker大慨不管让他要太满,强塞让他一堆可能你让你用的东西。

Docker对RunC有重大的贡献,RunC的早期也是基于DockerLibcontainer,之前 RunC在OCI下独立发展,有贡献的厂商远远不止Docker。在RunC项目后,在OCI的推动下,各个厂商积极贡献,Docker的代码贡献太满占主导,更谈不上主就说 Docker在维护,更准确的说Docker是RunC的重要维护力量之一。

前10个贡献者中,Docker只占2位,不得不提国内的公司华为代码贡献排名是相当的靠前。之前 RunC的代码贡献者超过5000人。

第一类是应用应用应用程序管理,支持容器之前 的应用应用应用程序,这也是Mesos一贯的调度管理策略

从這個 架构可不还要看出,Cloud Foundry的Garden基于RunC和容器插件,就替代了Docker的容器功能,同時 的是RunC和容器插件,而Garden取代Docker Daemon的容器管理功能。

三、你还只用Docker吗?

四、对這個有哪些的问题报告 的提前答复

Cloud Foundry率先采用RunC作为容器运行时,之前 之前 做了4个210万个容器集群的测试,https://www.cloudfoundry.org/cloud-foundry-approaching-2500000-containers/  验证了PaaS+RunC的大规模集群的支持。

RunC相应的生态空间也在活跃,都有不同的项目在进行中。

K8s目前基本只支持RunC容器,对于Docker超出其容器抽象层之外的功能,一概不支持。同样,Mesos也通过其Unified Containerizer只支持RunC容器,目前还支持Docker,之前 未来的规划是只支持Unified Containerizer。CF也通过Garden只支持RunC,不支持Docker超出RunC之外的功能。

作为用户或是容器生态圈的创业公司,没有一棵树上吊死,可能在容器层面只考虑Docker,而不考虑RunC,可能会和CaaS/PaaS生态圈的标准没有远,未来和CaaS/PaaS的标准容器差异没有大,主流的CaaS/PaaS厂商和技术,如K8s/Mesos/CloudFoundry均不再支持Docker容器超越RunC之外的功能,而只支持插件对RunC功能的扩展。

第三类是容器镜像管理,除了容器镜像,还将支持虚机镜像等。

Docker在容器被抛弃了K8s/Mesos/CloudFoundry的支持之前 ,会更专注于Swarm,和CaaS的這個厂商的竞争将更直接,之前 Docker公司一贯的对企业生产环境形态学 的不在 乎,Swarm太难对這個CaaS形成竞争优势。

2、在Docker如日中天的之前 没有说是哗众取宠

上文说到CaaS生态圈的公司如可应对Docker用捆绑措施从容器入侵CaaS领域,CaaS厂商通过容器抽象、标准化容器运行时RunC以及容器功能外化插件来重新定义容器。下面這個人 继续来看CaaS厂商的具体方案。

Docker现在是如日中天,之前 3年前也是刚起步,這個人 说可不还要说RunC就说 3年前的Docker。Docker可能Docker公司自身的商业形态学 ,对容器生态圈這個公司的生存空间的挤压,可能造成了容器生态圈的裂变。

RunC的生态圈将没有雄厚,第4个就说 把Docker镜像转换为RunC标准镜像(這個 可能有了),其次就说 各种各样的插件和RunC可不还要交互,底下还可不还要衍生出各种插件的功能,如即插即用(动态性)、自动发现之内的。

這個不适合容器的Docker应用场景的案例会被证伪,在Docker和容器鲜为人知的之前 ,各种各样的Docker案例层出不穷,包括這個明显和常识有违的案例,比如交易系统采用Docker, 交易极严格的延时的要求不适合Docker。都有故意混淆概念,交易一种生活不在 Docker容器中,交易系统相关的這個模块在Docker中,为了突出宣传效果,说交易系统采用Docker

从RunC逐步成熟图片 图片 是什么期图片 图片 图片 是什么,Cloud Foundry的容器引擎Garden就采用了RunC作为容器运行时,如下图:

RunC的社区也很活跃,除了RunC一种生活的更新变慢,各大CaaS/PaaS生态圈如Google/Pivotal/Redhat/华为/CoreOS等都有专人在贡献代码。

RunC的自身发展远不如Docker没有有名气,可能RunC一种生活就说 4个很小的容器运行时,都有针对开发者的,开发者往往是通过Docker接触到RunC,就说 RunC的受众远比Docker要少。

最早没有Docker和Garden两大主流容器,Mesos和Google都专注于CaaS,容器就完整性采用Docker,CloudFoundry可能在Docker之前 就推出了Warden(后升级到Garden)容器,CF采用這個人的容器打造了PaaS平台,形成了4个和谐的生态。

“风起于青萍之末”,如日中天的之前 可能就说 走向下坡路的之前 开始了了英语 。Docker一家和這個CaaS生态圈分裂,这条路注定是不平坦的。

Docker被科普之前 ,客户更关注的是CaaS而都有容器,再给客户去科普Docker体现不在 容器创业公司的价值。

原文发布时间为:2016-11-29

二、容器生态的演进

目前的形势,就形成了Docker和各个CaaS/PaaS厂商在同一层面竞争,在CaaS/PaaS平台,Docker并没有有哪些优势,之前 Docker想把其容器的广泛使用的优势在CaaS中延续,目前看来太满容易。容器的主要用户还是這個人用户、开发者用户、运维用户,而CaaS是企业系统,二者目标客户不同、技术要求不同。

和Cloud Foundry的架构模式同类,K8s也发展了CRI-O来取代Docker,架构图如下:

K8s CRI-O和Mesos的UnifiedContainerizer都借鉴了Garden的容器抽象设计思路,就说 Garden也是第4个支持RunC的CaaS/PaaS。

4、RunC是没有管的孩子

除了K8s/Mesos/CloudFoundry支持RunC容器运行时,Docker的容器从1.11之前 开始了了英语 也内置RunC作为容器运行时,说明RunC受到最为广泛的支持。

当然,可能之前 总爱支持Docker容器,目前阶段Mesos还继续支持Docker,之前 都有這個人的Mesos Containerizer容器机制。

周晖,Pivotal大中国区云计算首席架构师,有雄厚的PaaS云实际建设经验,负责过国内某知名银行可能生产上线一年的PaaS云的派发和偏离 功能的实现,参与过某超算PaaS、某超市电商PaaS、某电力PaaS等项目的建设

如上图,标识了容器生态圈或是CaaS的演进变化。

业界更普遍的定位是Docker用于开发测试环境,而RunC用于生产环境,就说 对于要在生产环境采用容器技术的,一定要研究RunC。

第二类是隔离器: 在容器生命周期的各个阶段提供扩展接口,保护了Docker的几类插件,如网络、磁盘、文件系统、卷插件。

作者介绍

之前 对于CaaS项目来说,K8s/Mesos/CloudFoundry往往就说 基于RunC容器运行时。

MesosUnified Containerizer 也应当会在1年之内成熟图片 图片 是什么期图片 图片 图片 是什么,之前 内置的容器应当也是RunC,而不再是Docker

Docker和CaaS生态圈在容器上的分裂可能是现在进行时了,觉得這個人 都没有明说。这也将是容器和CaaS生态圈重要转折事件。让這個人 来看看目前正在位于的和在未来一年中很有可能位于的事情:

1、K8s通过CRI-O取代Docker容器管理引擎架构

這個人 来看看生态圈的演进示意:

业界都有這個人持這個 观点。觉得,标准的价值是常识,当然总会有反常识的言论出来。没有标准就没有合力,没有合力哪来的发展。可能Docker公司把闭源,那可不还要没有标准。既然是开源,又让你生态圈的這個公司和力量做贡献,就要让這個人 有合力,就要让這個人 在标准的基础做贡献,而都有把生态圈的這個公司当作免费打工的。

详见https://github.com/jfrazelle/riddler。

3、Cloud Foundry通过Garden取代Docker容器管理引擎

Garden取代DockerDaemon(Docker Daemon有内有Docker Server,Docker Server内有Docker引擎),直接调用RunC来生成容器运行环境,同時 CFGarden也支持容器插件,容器插件是独立应用应用应用程序,在网络插件方面优先支持K8s的CMN插件标准。CF Diego有這個人的镜像仓库管理,也可不还要从Docker仓库中获取Docker镜像部署。

K8s的CRI-O也会尽快发布,等CRI-O成熟图片 图片 是什么期图片 图片 图片 是什么之前 ,内置的容器运行时就应当是RunC,而不再是Docker了。

Mesos的统一容器基本就暗含了DockerDaemon、Docker仓库等功能。

国内的公司对RunC的贡献度没有高,特别是华为,可能是国内公司中对RunC贡献最大的。还有EasyStack、南大索芙特等的贡献,反倒是這個著名的Docker创业公司看没有对RunC的贡献。這個 方面反应了华为、EasyStack技术眼光和对社区的贡献,另外也反映了为有哪些华为和EasyStack在商业上也更成功這個。

1、各方以RunC为核心重新构建容器生态圈,Docker容器被弱化

RunC属于OCI,不再受Docker注册商标的影响,对RunC的代码贡献不再受限于Docker。

本文来自云栖社区媒体媒体合作伙伴DBAplus

RunC是CaaS/PaaS/OCI等生态圈同時 的孩子,都有没有看的孩子。

同時 ,Google也在向Mesos推销其CRI-O,希望Mesos也采用其CRI-O的架构。

Docker可能被布道师们说成”无所没有”,稍微有几块没有,觉得這個人 还是能区别得出来。

CRI-O是Google的Kelsey和Docker CTO所罗门论战之前 的结果,论战之前 ,Google就提出4个设想,要让K8s调度的容器去Docker化,觉得這個人 一之前 开始了了英语 说的是要分支出4个Docker的分支来做容器,之前 之前 考虑到原先做属于刺刀见红,杀伤力太满,就说 在2016年6月先弄了4个OCID(OCI守护应用应用应用程序),就说 RunC的守护应用应用应用程序,和Docker Daemon有异曲同工之妙,该项目的维护人员此地无银三百两的说“这都有Docker的分支”。

Unified Containerizer也支持插件架构,之前 和Docker的插件都有完整性一样,设计的插件类型更雄厚,包括三大类:

一、CaaS业界通过分解重组Docker技术来替代Docker的方案

可能K8s之前 总爱支持Docker,为了保持一定的兼容性,K8s继续支持Docker容器,之前 不再支持Docker超出标准容器之外的特定功能,也就说 把Docker的定位和RunC等同化,Docker做的再多功能就说 用。

可能你是开发测试用Docker,没有基本不受影响,可不还要继续,这也是就说 公司对Docker的定位。可能你是生产系统采用Docker(包括Swarm),你就要注意,可能有你這個人定制开发基于Docker/Swarm的CaaS(Container As a Service),那有哪些的问题报告 就说 大,出现漏洞或是定制可不还要這個人打补丁,之前 要意识到你的补丁不一定能合并到Docker的主干版本。可能有你采用的是第三方让他定制的基于Docker和Swarm的CaaS,你就一定要当心了,這個人 针对Docker做的定制要合并到Docker的后续版本有相当的难度,可能对于Docker的补丁定制合并,除了Docker公司這個公司几乎是没有有哪些控制力度的,还包括后向兼容性有哪些的问题报告 。

在对开源Docker分支进行了反复斟酌、放风声、试探和讨论之前 ,各方觉得杀伤力太满的方案。而重新回到了折中方案,以RunC为核心重新构建生态圈,之前 通过插件来弱化容器在CaaS生态圈的重要性。

2、RunC生态的快速发展

而K8s/Mesos/CloudFoundry明确表示在容器抽象层不再支持Docker超越RunC之外的功能。

如下图,是Git上RunC的代码贡献者排名:

CRI-O对容器运行时提供基本管理功能,同時 Google的K8s提供镜像管理功能(Container/Images),完整性可不还要取代Docker的镜像仓库。K8s一方面支持容器插件技术,這個人面這個人也制定实现這個容器插件,最典型的就说 容器网络插件,這個人定义并实现了CNM的容器网络插件。

3、黑Docker黑出翔来了

Docker创业公司分化,太满的容器创业公司给别人介绍這個人的过完会说這個人 是K8s初创公司(或這個人 是Mesos创业公司),都有Docker创业公司,强调這個人是CaaS厂商,突出這個人都有Docker厂商。当然,都有纯Docker的创业公司,但优势会变成劣势,毕竟在CaaS领域,Docker没有优势。

对于RunC和Docker的技术区别,完整性请参考上篇的4.5