发布于: May 1, 2020

Amazon Elastic Container Registry (ECR) 现在支持在清单列表中增加不同 CPU 体系结构和容器应用程序可使用的操作系统供选择,例如,可以在现有集群中添加 AWS Graviton ARM 实例。使用清单列表,您可以存储不同硬件体系结构及操作系统的映像变体,如 x86 和 ARM 以及 Linux 和 Windows,将其作为 ECR 中的单容器映像。像 Docker 这样的客户端,可以在启动容器时,自动为每个体系结构和操作系统拉取正确的映像变体。这有助于简化构建和部署工作流,因为您将使用单个映像和标签,而不是在整个 CI/CD 脚本中嵌入每个体系结构的映像引用。

容器映像通常是为特定环境构建的,例如,x86 平台上的 Linux、ARM 平台上的 Linux 以及 x86 平台上的 Windows。这使应用程序能够利用平台特有的功能,或者在应用程序需要在特定操作系统上运行时提供帮助。此前, 您需要直接拉取每个映像和标签变体,这就需要按平台定义任务和配置节点。这为在组合操作系统和体系结构之间运行容器增添了复杂性,同时,在同一应用程序集群中使用不同的 CPU 体系结构还会降低灵活性。现在,通过 ECR 清单列表支持,您可以推送包含对许多映像变体的引用的单个映像清单,并使用这一个映像作为不同体系结构和操作系统的计算集群。ECR 支持在 Open Container Initiative (OCI) 映像索引和 Docker Image Manifest v2 中指定清单列表。

所有公共 AWS 区域和 AWS GovCloud(美国)现在均在 ECR 中提供清单列表支持。在本博客中了解更多信息并按照文档的说明开始将多体系结构映像推送到 ECR。