揭秘开放容器标准(OCI)规范


【译者的话】本文介绍了OCI运行时和镜像规范,以及在过去的一段时间里大家对该规范的一些误解。OCI规范制订工作尚未落幕,未来也将对容器产生更加深远的影响。

【3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站】本次培训围绕基于Docker的CI/CD实战展开,具体内容包括:持续集成与持续交付(CI/CD)概览;持续集成系统介绍;客户端与服务端的 CI/CD 实践;开发流程中引入 CI、CD;Gitlab 和 CI、CD 工具;Gitlab CI、Drone 的使用以及实践经验分享。

开放容器标准组织本周宣布完成第一版容器运行时和镜像规范。为了支持容器解决方案,Linux基金会主导开发了OCI规范和标准。在过去两年里,这些规范建设工作凝聚了很多辛勤的努力。考虑到这一点,让我们来看看过去两年中出现的一些“误解”。
logo_oci.png

误解:OCI是Docker的替代品

标准很重要,但它们远非完整的产品平台。举个例子,万维网,其过去25年的发展建立在诸如TCP/IP、HTTP和HTML等核心可靠的标准之上。以TCP/IP为例,当企业将其作为一种通用协议使用时,它推动了路由器,特别是思科的发展。然而,思科通过关注其路由平台上的差异化功能,成为其市场的领导者。我们认为OCI规范和Docker将和谐共存。

Docker是一个完整的产品平台,满足容器解决方案的开发、分发、安全和编排各项需求。Docker使用OCI规范,但它只涵盖了该规范大约5%的内容,并且Docker平台只有很少一部分涉及容器的运行时行为和容器镜像的布局。

误解:产品和项目已经通过了OCI的规范认证

运行时和镜像规范本周刚刚发布了1.0版本。然而,OCI认证计划仍在发展中,所以企业在今年晚些时候正式推出认证之前,不能要求合规性,一致性或兼容性。

OCI认证工作组目前正在定义标准,使产品和开源项目能够符合规范。标准和规范对于实施解决方案的工程师很重要,但正式认证是向客户保证其正在使用的技术真正符合标准的唯一方式。

误解:Docker不支持OCI规范

Docker长久以来一直为OCI做出贡献。我们开发并捐赠了大部分的OCI代码,并作为项目维护者在定义运行时和镜像规范时做了一些建设性工作。当Docker运行时和镜像格式在2013年作为开放源代码发布后,迅速成为事实上的标准,我们认为将代码捐赠给中立的管理机构,以避免发展力量分散和鼓励创新将是有益的。目标是提供一个可靠和标准化的规范,因此Docker作为运行时规范工作的基础,提供了一个简单的容器运行时的runc,后来将Docker V2镜像规范作为OCI镜像规范工作的基础。

Docker开发人员如Michael Crosby和Stephen Day一开始便是这项工作的关键贡献者,确保Docker托管和运行数十亿个容器镜像的体验可以过渡到OCI规范下。认证工作组完成工作后,Docker将通过OCI认证过程将其产品展示出来,以证明OCI的一致性。

误解:OCI规范只涉及Linux容器

有一种误解,OCI仅适用于Linux容器技术,因为它是在Linux基金会的主导下开发的。现实情况是,虽然Docker技术开始于Linux的世界,Docker已经与微软合作,把我们的容器技术,平台和工具引入了Windows服务器的世界。此外,Docker已经捐给了OCI的底层技术是广泛适用于多层架构环境,包括Linux、Windows、Solaris和涵盖X86、ARM和IBM zSeries。

误解:Docker只是OCI的众多贡献者之一

OCI作为一个组织,有很多代表容器业界的广度的支持成员。也就是说,它是一个小而专业的个人技术专家组,为制订初始规范的工作贡献了时间和技术。Docker是OCI的创始成员,贡献了初始代码库,构成了运行时规范的基础,后来自身也引用了这种实现。同样,Docker也将Docker V2 Image规范作为OCI镜像规范的基础。

误解:CRI-O是OCI项目

CRI-O是云原生计算基金会(CNCF)的Kubernetes孵化器的一个开源项目–不是OCI项目。它基于Docker架构的早期版本,而containerd是一个直接的CNCF项目,它是一个更大的容器运行时,该运行时包含runc的参考实现。containerd负责镜像传输和存储,容器执行和监督,以及支持存储和网络插件的底层功能。Docker在五个最大的云提供商(阿里云,AWS,Google Cloud Platform,IBM Softlayer和Microsoft Azure)的支持下,将containerd捐赠给了CNCF,其协议是作为多个容器平台和容器编排系统的核心容器运行时。

误解:OCI规范现已完成

虽然运行时和镜像格式规范的发布是一个重要的里程碑,但仍有工作要做。OCI的初始范围是定义一个狭窄的规范,仅针对哪些开发人员可以依赖于容器的运行时行为,如何防止在行业中的碎片化,并且仍然允许在不断变化的容器领域中进行创新。随后将其扩展为包含容器镜像规范。

随着工作组完成运行时行为和镜像格式的第一个稳定规范,正在考虑新的工作。未来工作的思路包括分发和签名。然而,OCI的下一个最重要的工作是提供一个由测试套件支持的认证过程,因为第一个规范是稳定的。

了解更多关于OCI和Docker的开放源码:



作者介绍

Stephen是Docker开源项目总监。他曾在Hewlett-Packard Enterprise担任董事和杰出技术专家。他博客关于开源软件和业务在Once More Unto The Breach和opensource.com。

原文链接:DEMYSTIFYING THE OPEN CONTAINER INITIATIVE (OCI) SPECIFICATIONS (翻译:付辉)

0 个评论

要回复文章请先登录注册