在旧金山举行的CoreOS Fest大会上,Red Hat、Google、VMware及Apcera宣布支持应用容器规范(appc)。Appc是由社区开发并制定的规范,用于为应用容器定义镜像格式、运行时环境及发现机制。
在Docker从一个开放标准容器规范转变成一系列复杂的工具并“编译成主要以root运行在服务器上的一个整体程序”时,CoreOS启动了appc作为回应。CoreOS的CEO Alex Polvi相信“从安全与可组合性角度而言,Docker的处理模型,即所有东西通过一个中央后台程序运行,从根本上来说是有缺陷的”。Appc试图作为Docker的原始容器宣言的一种回归(译者注:勿忘初心)。
CoreOS的容器格式Rocket(rkt)是基于appc的。不过,CoreOS并未掌控appc。
为了确保规范是由社区主导的,appc项目设立了一个管理策略,并选举了几个新的社区维护人员:Twitter的Charles Aylward、Red Hat的Vincent Batts及Google的Tim Hockins。这些公司走到一起,是为了确保应用容器有一个行业标准,提供用来保障安全性、开放性及模块性的准则。
在一份声明中,Polvi说:“appc刚刚发布几个月,但我们已经看到越来越多的公司开始支持appc。我们对这些加入社区的新公司表示欢迎,也邀请其他公司加入这项运动,共同推动这个安全、可移植的容器标准。”
Red Hat高级软件工程师Vincent Batts补充说:“我们看到容器技术领导者的一个共同责任是避免过去的错误,并向一个通用标准努力,保证创新自由及一致的预期。”这是在挖苦Docker么?听起来是这样,虽然Red Hat已经作为Docker的合作伙伴,并将Docker加入到Red Hat Enterprise Linux 7 Atomic Host(RHELAH)中。
Docker还是appc,Batts继续说道:“作为一个FOSS、Linux和容器技术的长期贡献者,从我们的角度看,容器化是Linux系统及标准软件分发的未来。”
Google的产品经理及Kubernetes共同创始人Craig McLuckie宣布:
借助CoreOS rkt的支持,Kubernetes的第一个重要里程碑是实现appc规范。以集群优先管理的理念进行设计,appc支持允许开发人员通过受相同的Google基础设施启发的编排框架使用他们首选的容器镜像。
这意味着rkt已经被直接集成到Kubernetes之中,用户将能够运行ACI(应用容器镜像格式),并利用rkt的Kubernetes pod支持。同时,rkt对运行Docker镜像的天然支持意味着用户可以继续使用他们的Docker镜像。
另外,Apcera也宣布了自己的appc实现:Kurma。这是一个用以在容器内运行应用的执行环境。Kurma提供了一个框架,支持容器的管理及编排。在Kurma及rkt之外,其它appc实现还包括:Jetpack(一个FreeBSD appContianer运行行)、libappc(一个用于与容器化应用工作的C++库)。
VMware的副总及Cloud-Native Apps的CTO Kit Colbert,在一份声明中说:“目前VMware支持appc,并会将rkt作为容器运行引擎。”VMware最近还通过Lightware和Photon涉足了Linux容器领域。Colbert说:“我们将与appc社区共同努力,解决可移植性及跨平台的安全性,这两个企业在寻求在他们的IT环境中支持应用容器的最高问题。”
在appc新闻之外,CoreOS还宣布了托管于它的Quay的容器Registry已经更新了构建系统、改进了缓存,并且现在支持Atlassian Bitbucket及GitLab。Quay设计用来为企业提供对容器的更多控制,同时避免在企业防火墙之外放置资源的安全问题。
Quay可以支持Docker、rkt及其他appc镜像,这使得企业可以在内部运行容器化系统,以提高安全性。CoreOS宣称这将让“企业在保持安全的同时利用容器化系统的优势。通过简单但功能强大的UI,DevOp及开发人员可以花更少时间来管理容器,将更多时间花在创建和使用上。”