从 Amazon ECR 私有存储库中将映像提取到您的本地环境 - Amazon ECR

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

从 Amazon ECR 私有存储库中将映像提取到您的本地环境

如果希望运行 Amazon ECR 中可用的 Docker 镜像,可以使用 docker pull 命令将其提取到本地环境。您可以从默认注册表或与其他 AWS 账户关联的注册表中执行此操作。

要在 Amazon ECS 任务定义中使用 Amazon ECR 镜像,请参阅 。将 Amazon ECR 映像与 Amazon ECS 结合使用

重要

您无法提取已存档的图像。必须先恢复存档的图像,然后才能提取它们。有关存档和恢复图像的更多信息,请参阅在 Amazon ECR 中存档图片

重要

Amazon ECR 要求用户有权通过 IAM policy 调用 ecr:GetAuthorizationToken API,然后才能对注册表进行身份验证并从任意 Amazon ECR 存储库推送或提取任意镜像。Amazon ECR 提供了多种 AWS 托管策略来控制不同级别的用户访问权限。有关 Amazon ECR AWS 托管策略的信息,请参阅AWS Amazon 弹性容器注册表的托管策略

从 Amazon ECR 存储库提取 Docker 镜像
  1. 将您的 Docker 客户端验证到要从中提取镜像的 Amazon ECR 注册表。必须针对每个注册表获得授权令牌,令牌有效期为 12 小时。有关更多信息,请参阅 Amazon ECR 中的私有注册表身份验证

  2. (可选) 识别要提取的镜像。

    • 可以使用 aws ecr describe-repositories 命令列出注册表中的存储库:

      aws ecr describe-repositories

      上面的示例注册表有一个名为的存储库amazonlinux

    • 可以使用 aws ecr describe-images 命令描述存储库中的镜像:

      aws ecr describe-images --repository-name amazonlinux

      上述示例存储库具有带标签 latest2016.09 的镜像,并且镜像摘要为 sha256:f1d4ae3f7261a72e98c6ebefe9985cf10a0ea5bd762585a43e0700ed99863807

  3. 使用 docker pull 命令提取镜像。镜像名称格式应为 registry/repository [:tag] 以便按标签提取,或为 registry /repository[@digest] 以便按摘要提取。

    docker pull aws_account_id.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest
    重要

    如果您收到 repository-url not found: does not exist or no pull access 错误,您可能需要向 Amazon ECR 验证您的 Docker 客户端。有关更多信息,请参阅 Amazon ECR 中的私有注册表身份验证