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

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


出品丨Docker公司(ID:docker-cn)

编译丨小东

每周一、三、五晚6点10分  与您不见不散


说在前面


我们很高兴地宣布,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 协议。许多镜像都可以被上传和下载,深受开发人员喜爱。

640?wx_fmt=png


演  化


上传和下载镜像持续不断,但是随着用户用其他的 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 社区就发展起来了,并一直致力于满足用户不断增长的需求。

640?wx_fmt=png


下一步


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

640?wx_fmt=png


点击下列标题,阅读更多干货



如果本文对你有帮助,欢迎分享到朋友圈!获取更多Docker实用技巧,扫描下图二维码!

 640?wx_fmt=png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值