首页 » 漏洞 » 优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!

优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!

 

如以往一样,Docker的每一次更新都会为用户带来惊喜,这次的更新又做了哪些优化呢?下面就跟着小编一起来了解一下吧!

优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!

Docker官方镜像目前支持在多操作平台使用

上周,Docker 公司对官方镜像进行了一次重大更新,使其可以感知多平台。现在,当您运行 docker run hello-world指令时,无论是在x86-64 Linux,Windows,ARM,IBM Z mainframes还是在其他运行着Docker的系统上,Docker社区版和企业版都将会为您拉取、运行相应平台的hello-world 镜像。Docker正快速增加对其他操作系统(如Windows)和CPU架构(如IBM Z)的支持,这是对用户体验的重大改进。

Docker 官方镜像是一组精选的容器镜像,包括:

  • 基础操作系统的镜像(如Ubuntu, BusyBox和 Debian)。
  • 为流行的编程语言(如Go,Python和Java)提供现成的构建和运行时的镜像。
  • 为数据存储(如 PostgreSQL , Neo4j 和 Redis)提供方便易用的镜像。
  • 用于运行 WordPress , Ghost, Redmine 和许多其他的流行开源项目而预先打包好的软件镜像。

官方镜像一直都可以用于x86-64 Linux 操作平台。非x86 Linux架构的操作平台虽然也有可用的官方镜像,但是需要用不同的命名空间(在IBM Z mainframe上用docker pull s390x/golang指令)或使用不同的标签(在Windows上用docker pull golang:nanoserver指令)来获取这些镜像。从Docker的多架构和多系统编排的新特性而言,这并不是我们预期所想的那般为用户带来无缝和便携式的体验。

幸运的是,从Docker 1.10版本开始使用了一项名为清单列表(Manifest lists)的技术,使Docker 镜像库和分发协议可以支持多平台镜像。一个清单列表可以在镜像库中取代单架构镜像清单(如golang),并且可以包含一个元组(由平台和清单指引构成)的列表。如果通过docker pull指令在一个镜像库中,返回的是镜像库列表而不是镜像清单,Docker就会检查镜像库列表,然后为正在运行的平台拉取正确的列表项(镜像)。

分发协议是向下兼容的,并且清单列表仅提供给在Accept标头中标注支持的客户端。对于不支持清单列表的客户端,镜像库将使用x86-64 Linux 镜像清单。清单列表完全受“Docker Content Trust”的支持,以确保对多平台镜像内容进行加密签名和验证。

大多数CPU架构的Linux镜像已经支持清单列表,对Windows的支持也很快实现。如果您喜欢的CPU架构或操作系统尚未覆盖到,您可以继续使用特定的CPU或特定的的操作系统标签或镜像来完成拉取。同时,通过摘要获取镜像的功能也不受此更新的影响。

围绕清单列表和多架构Docker镜像的工作已经进行了很长时间。我们很高兴这些功能在Docker可用的多平台上,使得无缝拉取和使用Docker 官方仓库中的镜像变得更为简单。

————————————————————————————————————————————

出品丨Docker公司(微信公众号ID:docker-cn)

作者丨Michael Friis

编译丨小东

原文链接:优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!,转载请注明来源!

0

优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!

 

如以往一样,Docker的每一次更新都会为用户带来惊喜,这次的更新又做了哪些优化呢?下面就跟着小编一起来了解一下吧!

优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!

Docker官方镜像目前支持在多操作平台使用

上周,Docker 公司对官方镜像进行了一次重大更新,使其可以感知多平台。现在,当您运行 docker run hello-world指令时,无论是在x86-64 Linux,Windows,ARM,IBM Z mainframes还是在其他运行着Docker的系统上,Docker社区版和企业版都将会为您拉取、运行相应平台的hello-world 镜像。Docker正快速增加对其他操作系统(如Windows)和CPU架构(如IBM Z)的支持,这是对用户体验的重大改进。

Docker 官方镜像是一组精选的容器镜像,包括:

  • 基础操作系统的镜像(如Ubuntu, BusyBox和 Debian)。
  • 为流行的编程语言(如Go,Python和Java)提供现成的构建和运行时的镜像。
  • 为数据存储(如 PostgreSQL , Neo4j 和 Redis)提供方便易用的镜像。
  • 用于运行 WordPress , Ghost, Redmine 和许多其他的流行开源项目而预先打包好的软件镜像。

官方镜像一直都可以用于x86-64 Linux 操作平台。非x86 Linux架构的操作平台虽然也有可用的官方镜像,但是需要用不同的命名空间(在IBM Z mainframe上用docker pull s390x/golang指令)或使用不同的标签(在Windows上用docker pull golang:nanoserver指令)来获取这些镜像。从Docker的多架构和多系统编排的新特性而言,这并不是我们预期所想的那般为用户带来无缝和便携式的体验。

幸运的是,从Docker 1.10版本开始使用了一项名为清单列表(Manifest lists)的技术,使Docker 镜像库和分发协议可以支持多平台镜像。一个清单列表可以在镜像库中取代单架构镜像清单(如golang),并且可以包含一个元组(由平台和清单指引构成)的列表。如果通过docker pull指令在一个镜像库中,返回的是镜像库列表而不是镜像清单,Docker就会检查镜像库列表,然后为正在运行的平台拉取正确的列表项(镜像)。

分发协议是向下兼容的,并且清单列表仅提供给在Accept标头中标注支持的客户端。对于不支持清单列表的客户端,镜像库将使用x86-64 Linux 镜像清单。清单列表完全受“Docker Content Trust”的支持,以确保对多平台镜像内容进行加密签名和验证。

大多数CPU架构的Linux镜像已经支持清单列表,对Windows的支持也很快实现。如果您喜欢的CPU架构或操作系统尚未覆盖到,您可以继续使用特定的CPU或特定的的操作系统标签或镜像来完成拉取。同时,通过摘要获取镜像的功能也不受此更新的影响。

围绕清单列表和多架构Docker镜像的工作已经进行了很长时间。我们很高兴这些功能在Docker可用的多平台上,使得无缝拉取和使用Docker 官方仓库中的镜像变得更为简单。

————————————————————————————————————————————

出品丨Docker公司(微信公众号ID:docker-cn)

作者丨Michael Friis

编译丨小东

原文链接:优化无止境,Docker新版本带你体验多平台无缝操作的极致快感!,转载请注明来源!

0