在 DockerCon 2015 大会上,Solomon Hykes 宣布,一个包含供应商、用户和行业领导者的广泛联盟将联手创建“开放容器项目( Open Container Project ,缩写为 OCP)”,旨在定义一个通用的容器格式和运行时规范。OCP 是一个极简的、非盈利的开放治理项目,在 Linux 基金会的资助下运行。
Hykes 是 Docker 公司的创始人兼首席技术官。他表示,Docker 将向开放容器项目(OCP)捐献当前的基本容器格式和运行时(现在名为 runC ),帮助建立新技术的基石。Hykes 还宣布,由 CoreOS 推动的应用容器(appc)规范背后的团队也将作为 OCP 的联合创始人加入进来。Hykes 赞扬了 CoreOS 团队所做的工作:
我特别感激来自 CoreOS 的 Alex Polvi 和 Brandon Phillips,这两位 appc 的创始人将加入 OCP。帮助行业整合,将最好的理念——不管它们源于哪里——变成可以为用户和行业提供最佳结果的东西,是我们共同的愿望。他们的加入对此意义重大。
按照 CoreOS 官方博客的说法,社区推动的 appc 规范和当前事实上的 Docker 镜像规范有望合二为一,形成一个新的规范:
我们认为,应用容器的大部分核心概念将成为 OCP 的一个重要组成部分。在我们开始合作制定 OCP 规范时, 我们的应用容器开发经验将发挥重要的作用。
[……]
最终目标是形成一个统一的标准容器格式规范,而 OCP 的成功将意味着应用容器主要目标的达成。
OCP 的其他创始成员包括 20 多个组织,按照 Hykes 的说法,他们占据了容器市场一个相当大的份额。Hykes 在 DockerCon 大会的主题演讲中提到了如下创始成员:Apcera、AWS、思科、CoreOS、Docker, EMC、富士通有限公司、谷歌、高盛投资公司、惠普、华为、IBM、英特尔、Joyent、Pivotal、Linux 基金会、Mesosphere、微软、Rancher Labs、红帽和 VMware。
Docker 在宣布创建 OCP 的博文中指出,虽然 Docker 自 2013 年 3 月推出后已经发生了很大的变化,但一些关键的原则它一直坚守着:
- 以 Unix 的可组合性和简单性原则为基础进行设计
- 重视生态系统
- 做对用户最有利的事
按照 Docker 博客的说法,OCP 的创建以及 runC 的捐献均是服务于这些目标。首先,人们希望创建简单、清晰、模块化、可扩展的代码,除了创建者之外,开发者也可以轻松维护及改变用途。
[……] 通过将“容器(box)”与构建、分发和运行这些容器的工具明确地分开,我们认为,我们从根本上保留了可组合性和简单性的价值。[……] 一个明确定义的、简单的运行时调用和操作一个具有良好文档的标准格式,说的就是这种观点。
其次,这项工作将使得正在形成的容器生态系统专注于提升价值的领域,而不是将时间浪费在低级的“标准之争”上。
这特别重要,因为这个时候,Docker 和容器的运行环境基本上超出了 64 位 Linux,扩展到了多种体系架构和操作系统上,其中包括 32 位 OS、Power、Z、Windows 和 SmartOS。
第三,Hykes 指出,“这对用户而言是正确的”,用户就可以委身于 Docker、CoreOS 或其他任何供应商,只要他们创建的产品符合 OCP 规范,用户就不必担心被当前选择的任何特定的基础设施、供应商或工具锁定。
相反,[用户的] 的选择依据可以是尽可能地选择最好的工具构建最好的应用程序。
据 Docker 官方博客介绍, libcontainer 项目的所有内容,包括 nsinit 以及所有独立于 Docker 运行所需的修改都已经捐献给这个项目。 runC 代码库可以从 OCP GitHub 库获取。Libcontainer 将不再作为一个独立的项目运营。
OCP 方案的具体内容参见官方网站,其中包括参考代码和规范草案,以及拟建的治理结构的细节信息。要了解更多关于DockerCon 的信息及观看大会会议实况视频可以移步 DockerCon 2015 的官方网站。
查看英文原文: Docker, CoreOS and Industry Coalition Create Open Container Project
评论