将 Amazon ECR 映像与 Amazon ECS 结合使用 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将 Amazon ECR 映像与 Amazon ECS 结合使用

您可以在 Amazon ECS 任务定义中使用 Amazon ECR 中托管的容器映像,但需要满足以下先决条件。

  • 为 Amazon ECS 任务使用 EC2 启动类型时,容器实例必须至少使用 1.7.0 版本的 Amazon ECS 容器代理。最新版本的经 Amazon ECS 优化的 AMI 在任务定义中支持 Amazon ECR 映像。有关更多信息,包括最新的经 Amazon ECS 优化 的 AMI ID,请参阅 Amazon Elastic Container Service 开发人员指南中的经 Amazon ECS 优化的 AMI 版本

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

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

    如果您使用 AmazonEC2ContainerServiceforEC2Role 托管策略,则您的容器实例 IAM 角色具有适当的权限。要检查您的角色是否支持 Amazon ECR,请参阅 Amazon Elastic Container Service 开发人员指南中的 Amazon ECS 容器实例 IAM 角色

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

    以下任务定义代码段显示了用于指定在 Amazon ECS 任务定义中的 Amazon ECR 中托管的容器映像的语法。

    { "family": "task-definition-name", ... "containerDefinitions": [ { "name": "container-name", "image": "aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:latest", ... } ], ... }