Amazon EC2 Container Service
开发人员指南 (API Version 2014-11-13)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Amazon ECR 存储库

Amazon ECR 是一项托管 AWS Docker 注册表服务。客户可以使用熟悉的 Docker CLI 推送、拉取和管理映像。Amazon ECR 提供了安全、可扩展且可靠的注册表。Amazon ECR 通过使用 AWS IAM 支持具有基于资源的权限的私有 Docker 存储库,以便特定用户或 Amazon EC2 实例可以访问存储库和映像。开发人员可以使用 Docker CLI 编写和管理映像。

有关如何创建存储库、从 Amazon ECR 推送和拉取映像以及对存储库设置访问控制的更多信息,请参阅 Amazon EC2 Container Registry 用户指南

在 Amazon ECS 中使用 Amazon ECR 映像

您可以将 ECR 映像与 Amazon ECS 结合使用,但需要满足以下先决条件:

  • 您的容器实例必须至少使用版本 1.7.0 的 Amazon ECS 容器代理。最新版本的经 Amazon ECS 优化的 AMI 在任务定义中支持 ECR 映像。有关更多信息 (包括最新的经 Amazon ECS 优化的 AMI ID),请参阅 Amazon EC2 Container Service Developer Guide 中的 Amazon ECS 容器代理版本

  • 您用于容器实例的 Amazon ECS 容器实例角色 (ecsInstanceRole) 必须拥有 Amazon ECR 的以下 IAM 策略权限。

    Copy
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }

    如果您对容器实例使用 AmazonEC2ContainerServiceforEC2Role 托管策略,则您的角色将具有适当的权限。要检查您的角色是否支持 Amazon ECR,请参阅 Amazon EC2 Container Service Developer Guide 中的 Amazon ECS 容器实例 IAM 角色

  • 在 ECS 任务定义中,确保对 ECR 映像使用完整的 registry/repository:tag 命名。例如,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest