CoreOS 是一家容器化 Linux 服务器操作系统创业公司,同时,该公司使用自家的 Linux 系统 CoreOS 和 Docker 提供服务,并为 Docker 做出了巨大的贡献。令人出乎意料的是近日 CoreOS 却与 Docker 分道扬镳,另起炉灶,并在官方博客中公布了一款其正在开发的类Docker 的开源容器引擎Rocket,首个版本(0.1.0 版本)已经提交到了 GitHub 。Rocket 是一个命令行工具即“rtk”,且与 Docker 有着相同的基础框架。通过 rtk 命令来运行 App Containers 容器 (包括容器镜像、容器运行时、发现机制的协议等) 以帮助开发者打包应用和依赖包并部署到可移植容器中,从而简化搭建环境等部署工作,更多关于 App Containers 容器的信息,请查看其说明文档。
CoreOS 考虑到 Docker 在安全性和可组合性方面存在缺陷,并且从 Docker 的发展情况看出,它已经背弃了提供“一个标准的容器架构”的初衷,于是 CoreOS 才决定开始推出自己的标准化产品。所以 Rocket 创建的目的就是解决 Docker 存在的缺陷,并提供一个纯粹的容器标准。关于 Docker 在实际应用中的一些问题和局限性,请查看 InfoQ 的一篇文章进行了解。
CoreOS 的 CEO Alex Polvi 在该新闻中说到:
他们一直认为 Docker 应该成为一个简单的基础单元,但不幸的是事情并如他们期望的那样,Docker 正在构建一些工具用于发布云服务器、集群系统以及构建、运行、上传和下载映像等服务,甚至包括底层网络的功能等,以打造自己的 Docker 平台或生态圈。
Danielcompton 上还发表了一篇文章并利用哈佛商学院教授 Clayton Christensen 的《Law of Conservation of Modularity》 一书中的经济学理论分析了 CoreOS 和 Docker 分手的原因,文章指出 Docker 所进行的构建、运行、管理集群等功能,对当前 CoreOS 所提供的集群管理等功能构成了一种竞争,甚至是威胁,所以才促使 CoreOS 开发了自己的容器 Rocket。
Hacker News 已经有将近 300 条评论,多数人认为 Rocket 是一个好消息,也有人指出了商业利益的驱动使得 CoreOS 才开发 Rocket。用户 MyDogHasFleas 还透漏了 Rocket 已经得到了云服务提供商 Pivotal 支持的消息;用户 tptacek 认为 CoreOS 实现的 Rocket 才是当前标准的 Linux 容器模式。
Docker 和 CoreOS 正在为了单一的市场化进行潜在的商业份额,他们已经是相互竞争的双方了,CoreOS 正在抢占 Docker 的市场举措也使得 Docker 有点小受打击。
在 Reddit 上也有了相关评论,用户 clay_davis_sheeit 认为 CoreOS 开发 Rocket 是出于商业目的以及 Docker 已经面临着一些新容器项目的挑战。用户 suprshreddr 评论到:
自己喜欢 CoreOS 的这种做法,希望 Rocket 能够成为 Docker 的一个替代方案。尽管 Docker 所做的一切并非都是不好的,但在该新闻中的一些观点还是比较合理的,Docker 正在变成一个庞然大物以及 Docker 的一些工具可组合性确实比较差。
CoreOS 发布 Rocket 的消息公布后,Docker 的 CEO Ben Golub 在官方博客也撰写了一篇文章作为回应。在博文中,他首先肯定了Docker 团队以及社区对该项目做出的努力以及Docker 取得的成绩,同时还指出了Docker 生态圈的建立,对Docker 的扩展使之超出了一个简单容器的范畴,但强调Docker 仍然还是坚持着单一容器的格式,以及为Docker 新增的许多功能是应Docker 用户和贡献者等的要求才实现的。最后,还对CoreOS 的那篇文章的一些观点和措辞不太同意,但是仍然期望着大家能够一起朝着为开发者和用户做出真正积极的产品的方向共同前进。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论