将亚马逊 ECR 图片与亚马逊云服务器一起使用 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

将亚马逊 ECR 图片与亚马逊云服务器一起使用

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

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

  • 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 ECS 容器实例 IAM 角色中的Amazon Elastic Container Service 开发者指南

  • 在 Amazon ECS 任务定义中,确保您使用完整的registry/repository:tag命名您的亚马逊 ECR 图片。例如,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest

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

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