优化 Docker 体验,Docker Registry-V2 加入 OCI 促进行业标准化-阿里云开发者社区

开发者社区> 云原生> 正文
登录阅读全文

优化 Docker 体验,Docker Registry-V2 加入 OCI 促进行业标准化

简介: Docker Registry HTTP API V2 规范将在 Open Container Initiative (OCI) 中采用。OCI由 linux 基金会进行管理,致力于制定容器化产业标准。

screenshot

本文首发自“Docker公司”公众号(ID:docker-cn)
编译丨小东
每周一、三、五 与您不见不散!


我们很高兴地宣布,Docker Registry HTTP API V2 规范将在 Open Container Initiative (OCI) 中采用。OCI由 linux 基金会进行管理,致力于制定容器化产业标准。Docker 团队很自豪地看到应用栈的另一个方面成为行业标准。正如我们对镜像格式所做的那样,我们很乐意作为 OCI 社区的一部分,正式与容器生态系统共享和协作。我们的分发协议是市场上所有容器注册管理机构的基础,它非常的强大,容器内容遍布全球。


这个协议是什么?

通过这个协议我们可以看到,Docker 核心功能之一就是能够上传和下载镜像。这个概念从创建最初的“Hello, World”容器开始就已经介绍给了每个用户,而且它占了 Docker 体验的很大一部分。我们时常坐在电脑前感叹这个神奇的概念,这种简单的能力很容易被人忽视其中大量的设计与思考。

当 Docker 首次发布时,团队就制定了 Image Registry 的协议,并很快投入使用。Image Registry 提供了一种可以跨机器存储镜像的通用服务。它可以让用户在一台机器上构建镜像,然后在另一台机器下载这个镜像,并在这台机器上运行该镜像。现在有一种很方便、快捷的方法拉取并运行整个软件。这个实现为 Docker Hub 提供动力,并最终实现开源(https://github.com/docker/docker-registry)。这个协议和它背后的实现最终被称为 V1 协议。许多镜像都可以被上传和下载,深受开发人员喜爱。


演 化

上传和下载镜像持续不断,但是随着用户用其他的 Registry 来使用 Docker 时,V1 协议的问题就出现了。问题的核心围绕着 Registry 之间共享身份的概念,以及与 Docker 实现的耦合度过紧。问题在于,如果一个 Docker 引擎从两个不同的 Registry 获取镜像,那么 Docker 引擎可能会对镜像的身份标签产生分歧。我们需要修改一些东西确保用户使用多个 Registry 时不会出现问题。

到 2014 年底,Docker 通过引入具有初始 API 结构的提案来解决这些问题。问题的关键是设计出具有 Content—addressable 的镜像,它允许 Registry 为镜像提供通用的身份标签,并去除镜像格式内部细节与 Docker 引擎之间的耦合性,从而使其能够独立发展。社区聚集在一起,就该提案提出了140条意见,并纳入了规范和实施。这一努力的结果是,在2015年春季发布了 Docker Registry 2.0,并在 Docker 1.6 版本中支持 GA。自此之后,Docker 社区就发展起来了,并一直致力于满足用户不断增长的需求。


下一步

随着 Docker 的普及,该协议已在整个行业中得到了广泛应用,并在各种各样环境中进行了测试。该协议与诸如签名和验证等补充技术相结合,就如同 Docker EE 一样。通过将此规范捐献给 OCI,我们可以确保容器体验的这一重要部分成为 OCI 官方标准。随着对分发规范提案的认可,该协议将作为 OCI 的一部分推动容器行业蓬勃发展。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章
最新文章
相关文章