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

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

推送映像

您可以将Docker镜像推送到 Amazon ECR 存储库,使用 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标记图像 e9ae3c220b23aws_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. (可选)通过重复步骤 4步骤 5,向镜像应用任何其他标签并将这些标签推送到 Amazon ECR。可以向 Amazon ECR 中的每个镜像应用最多 100 个标签。