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

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

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

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

重要

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

从 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 中的私有注册表身份验证