开发者社区> javaedge> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Docker容器实战(四) - 纷纷扰扰,终归尘土(上)

简介: Docker容器实战(四) - 纷纷扰扰,终归尘土(上)
+关注继续查看

伴随着Docker公司的容器技术生态在云计算市场中站稳了脚跟,围绕着Docker项目进行的各个层次的集成与创新产品,也如雨后春笋般出现在这个新兴市场当中。

而Docker公司,不失时机地发布了Docker Compose、Swarm和Machine“三件套”,在重定义PaaS走出了最关键的一步。


这段时间大量围绕着Docker项目的网络、存储、监控、CI/CD,甚至UI项目纷纷出台,涌现出如Rancher、Tutum这样在开源与商业上均取得了巨大成功的创业公司。


2014~2015年间,容器社区真是热闹非凡。


繁荣背后,更多担忧,即对Docker公司商业化战略的种种顾虑。


Docker项目此时已经成为Docker公司一个商业产品。而开源,只是Docker公司吸引开发者群体的一个重要手段。

不过这么多年来,开源社区的商业化其实都是类似的思路,无非是高不高调、心不心急的问题罢了。


真正令大多数人不满意的是Docker公司在Docker开源项目的发展上,始终保持绝对权威,并在多场合挑战其他玩家(CoreOS、RedHat,谷歌微软)的切身利益。


其实在Docker项目刚刚兴起时

Google也开源了一个在内部使用多年、经历过生产环境验证的Linux容器

1 lmctfy(Let Me Container That For You)

image.png

然而,面对Docker项目的强势崛起,这个对用户没那么友好的Google容器项目根本没有招架之力。所以,知难而退的Google公司,向Docker公司表示了合作的愿望:关停这个项目,和Docker公司共同推进一个中立的容器运行时(container runtime)库作为Docker项目的核心依赖。


不过,Docker公司并没有认同这个明显会削弱自己地位的提议,还在不久后,自己发布了一个容器运行时库

2 Libcontainer

image.png

这次匆忙的、由一家主导的、并带有战略性考量的重构,成了Libcontainer被社区长期诟病代码可读性差、可维护性不强的一个重要原因。


至此,Docker公司在容器运行时层面上的强硬态度,以及Docker项目在高速迭代中表现出来的不稳定和频繁变更的问题,开始让社区叫苦不迭。


这种情绪在2015年达到了一个小高潮,容器领域的其他几位玩家开始商议“切割”Docker项目的话语权 — 成立一个中立的基金会。

2015年6月22日,由Docker公司牵头,CoreOS、Google、RedHat等公司共同宣布,Docker公司将Libcontainer捐出,并改名为

3 runc

image.png

交由一个完全中立的基金会管理,然后以runc为依据,大家共同制定一套容器和镜像的标准和规范。

这套标准和规范,就是

4 OCI( Open Container Initiative )

image.png

image.png

OCI的提出,意在将容器运行时和镜像的实现从Docker项目中完全剥离出来

  • 一方面可以改善Docker公司在容器技术上一家独大的现状
  • 另一方面也为其他玩家不依赖于Docker项目构建各自的平台层能力提供了可能


OCI更多是高端玩家出于自身利益一个妥协结果

尽管Docker是OCI的发起者和创始成员,却很少在OCI的技术推进和标准制定等事务上扮演关键角色,也没动力推进这些所谓标准。

这也是OCI组织效率持续低下的根本原因。


眼看着OCI无力改变Docker公司容器领域一家独大现状,Google和RedHat等第二把武器摆上了台面。


Docker之所以不担心OCI威胁,就在于它的Docker项目是容器生态的事实标准,而它所维护的Docker社区也足够庞大。

可是,一旦这场斗争被转移到容器之上的平台层,或者说PaaS层,Docker公司的竞争优势捉襟见肘

在这个领域里,像Google和RedHat这样的成熟公司,都拥有着深厚的技术积累

而像CoreOS这样的创业公司,也拥有像Etcd这样被广泛使用的开源基础设施项目。

可是Docker公司呢?它却只有一个Swarm。


所以这次,Google、RedHat等开源基础设施领域玩家们,发起名为


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?
【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?
0 0
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
0 0
Docker学习笔记九:多容器应用程序
大家好,我是阿萨。之前学习的都是单容器的应用程序,今天学习多容器应用程序。在之前的待办事项容器基础上增加MySQL。
0 0
Docker 如何运行一个容器
大家好,我是阿萨。昨天我们学习了使用Dockerfile 创建镜像,以及给docker 打标签。有了镜像之后,就是运行容器了。今天我们就学习下如何运行容器。
0 0
Docker:第二章:部署项目,对镜像,容器的操作
Docker:第二章:部署项目,对镜像,容器的操作
0 0
docker部署项目,对镜像,容器的操作
docker部署项目,对镜像,容器的操作
0 0
《华为使用Docker支持系统容器的优化实践》电子版地址
华为使用Docker支持系统容器的优化实践
0 0
Alan的Docker容器学习笔记
(本文的内容主要来源于Google、百科和学过的一些专栏,目前没有实际的企业级应用容器化部署经验,写的比较浅薄见笑了)
0 0
Docker容器安装
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 Docker支持在主流的操作系统平台上使用,包括 Windows系统、Linux系统及MacOS系统等。目前最新的 RedHat . CentOS、Ubuntu等操作系统官方软件源中都已经默认自带了Docker包,可以直接安装使用,也可以用Docker白己的YUM源进行配置。
0 0
Docker容器监控之 CAdvisor+InfluxDB+Granfana
Docker容器监控之 CAdvisor+InfluxDB+Granfana
0 0
+关注
javaedge
关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
文章
问答
文章排行榜
最热
最新
相关电子书
更多
华为使用Docker支持系统容器的优化实践
立即下载
Java Spring Boot开发实战系列课程(第17讲):Spring Boot 2.0实战Docker容器Linux
立即下载
Docker系统容器实践
立即下载