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等开源基础设施领域玩家们,发起名为


目录
相关文章
|
18小时前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
6天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
12 0
|
15天前
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
|
15天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
13 0
|
15天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
26 0
|
15天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
29 0
|
23天前
|
Kubernetes 网络协议 Docker
Docker 容器的DNS
Docker 容器的DNS
28 1
|
26天前
|
关系型数据库 MySQL Nacos
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
47 1
|
27天前
|
Docker 容器
进入Docker容器中
进入Docker容器中
34 2