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

推送映像

您可以使用 docker push 命令将 Docker 或开放容器计划 (OCI) 映像推送到 Amazon ECR 存储库。

重要

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

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

将 Docker 或开放容器计划 (OCI) 映像推送到 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. (可选)通过重复步骤 4步骤 5,向镜像应用任何其他标签并将这些标签推送到 Amazon ECR。可以向 Amazon ECR 中的每个映像应用最多 100 个标签。