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

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

推送 Docker 映像

您可以使用 Amazon ECR 命令将 Docker 映像推送到 docker push 存储库。

重要

Amazon ECR 要求用户先通过 IAM 策略允许对 ecr:GetAuthorizationToken API 的权限,然后才能对镜像仓库进行身份验证并对任意 Amazon ECR 存储库推送或提取任意镜像。Amazon ECR 提供多个托管 IAM 策略,在不同级别控制用户访问权限。有关更多信息,请参阅 Amazon Elastic Container Registry 基于身份的策略示例

Amazon ECR 还支持创建和推送 Docker 清单列表,这些列表用于多架构映像。清单列表中引用的每个映像都必须已经被推送到您的存储库。有关更多信息,请参阅推送多架构映像.

推送 Docker 镜像到 Amazon ECR 存储库

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

  2. 如果您的映像存储库在要推送到的注册表中尚不存在,请创建它。有关更多信息,请参阅创建存储库.

  3. 识别要推送的映像。运行 docker images 命令列出系统中的映像。

    docker images

    您可以使用 识别映像 repository:tag 值或生成的命令输出中的映像 ID。

  4. 通过要使用的 Amazon ECR 镜像仓库、存储库和可选镜像标签名称组合标记您的镜像。镜像仓库格式为 aws_account_id.dkr.ecr.region.amazonaws.com. 存储库名称应与您为映像创建的存储库一致。如果省略映像标签,我们将假定标签为 latest.

    以下示例使用 ID 标记映像 e9ae3c220b23 作为 aws_account_id.dkr.ecr.region.amazonaws.com /my-web-app

    docker tag e9ae3c220b23 aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app
  5. 使用 docker push 命令推送映像:

    docker push aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app
  6. (可选)通过重复Amazon ECR和步骤 4,向镜像应用任何其他标签并将这些标签推送到 步骤 5.