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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 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等开源基础设施领域玩家们,发起名为


目录
相关文章
|
27天前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
10天前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
19天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
173 5
|
20天前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
107 6
kde
|
23天前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
218 4
|
关系型数据库 MySQL Linux
docker 实战练习1
docker基础操作11
1934 0
|
1月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建