推送多架构映像 - Amazon ECR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

推送多架构映像

Amazon ECR 支持创建和推送用于多架构映像的 Docker 清单列表。清单列表是通过指定一个或多个映像名称创建的映像列表。通常,清单列表是从提供相同功能但适用于不同操作系统或架构的映像创建的,但这不是必需的。有关更多信息,请参阅 Docker 清单

重要

您的 Docker CLI 必须启用实验功能才能使用此功能。有关详细信息,请参阅实验功能

清单列表可以像其他 Amazon ECR 映像一样在 Amazon ECS 任务定义或 Amazon EKS Pod 规范中被拉取或引用。

可以使用以下步骤创建 Docker 清单列表并将其推送到 Amazon ECR 存储库。您必须已将映像推送到您的存储库,才能在 Docker 清单中引用。有关推送映像的信息,请参阅 推送映像

将多架构 Docker 映像推送到 Amazon ECR 存储库

  1. 向要向其推送镜像的 Amazon ECR 镜像仓库验证 Docker 客户端的身份。必须针对每个注册表获得授权令牌,令牌有效期为 12 小时。有关更多信息,请参阅注册表验证

  2. 列出存储库中的映像,确认映像标签。

    aws ecr describe-images --repository-name my-web-app
  3. 创建 Docker 清单列表。manifest create 命令验证引用的映像是否已存在于您的存储库中,并在本地创建清单。

    docker manifest create aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:image_one_tag aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:image_two
  4. (可选)检查 Docker 清单列表。这使您能够确认清单列表中引用的每个映像清单的大小和摘要。

    docker manifest inspect aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app
  5. 将 Docker 清单列表推送到您的 Amazon ECR 存储库。

    docker manifest push aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app