

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

# 从 Amazon ECR 私有存储库中将映像提取到您的本地环境
<a name="docker-pull-ecr-image"></a>

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

要在 Amazon ECS 任务定义中使用 Amazon ECR 镜像，请参阅 。[将 Amazon ECR 映像与 Amazon ECS 结合使用](ECR_on_ECS.md)

**重要**  
您无法提取存档的图像。必须先恢复存档的图像，然后才能提取它们。有关存档和恢复图像的更多信息，请参阅[在 Amazon ECR 中存档图片](archive_restore_image.md)。

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

**从 Amazon ECR 存储库提取 Docker 镜像**

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

1. (可选) 识别要提取的镜像。
   + 可以使用 **aws ecr describe-repositories** 命令列出注册表中的存储库：

     ```
     aws ecr describe-repositories
     ```

     上面的示例注册表有一个名为的存储库`amazonlinux`。
   + 可以使用 **aws ecr describe-images** 命令描述存储库中的镜像：

     ```
     aws ecr describe-images --repository-name amazonlinux
     ```

     上述示例存储库具有带标签 `latest` 和 `2016.09` 的镜像，并且镜像摘要为 ` sha256:f1d4ae3f7261a72e98c6ebefe9985cf10a0ea5bd762585a43e0700ed99863807`。

1. 使用 **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 中的私有注册表身份验证](registry_auth.md)。