推送 Docker 镜像 - Amazon ECR

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

推送 Docker 镜像

您可以将您的容器图像推送到 Amazon ECR 存储库,使用docker push命令。Amazon ECR 还支持创建和推送用于多架构映像的 Docker 清单列表。清单列表中引用的每个映像都必须已经被推送到您的存储库。有关更多信息,请参阅推送多架构映像

将 Docker 镜像推送到 Amazon ECR 存储库

在推送映像之前,Amazon ECR 存储库必须存在。有关更多信息,请参阅创建私有存储库

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

    要对 Amazon ECR 注册表验证 Docker,请运行aws ecr get-login-password命令。将身份验证令牌传递给docker login命令,请使用AWS作为用户名,并指定要对其进行身份验证的 Amazon ECR 注册表 URI。如果对多个注册表进行身份验证,则必须针对每个注册表重复该命令。

    重要

    如果收到错误,请安装或更新到最新版本的 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南中的安装 AWS Command Line Interface

    aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
  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-repository:tag.

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

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