1

我们计划使用多容器 Docker 实施 AWS Elastic Beanstalk。我有一个对所有服务具有完全访问权限的 IAM 用户。我已经创建了 docker 镜像并成功推送到 AWS Elastic Container 服务。当我使用 AWS Elastic Beanstalk 将 docker 映像 (.json) 部署到服务器时,出现以下问题。请指导我解决问题。我检查了 IAM 用户策略并添加了 Amazon ECS、Elastic Beanstalk 完全访问权限。我列出了我的 .json 代码供您参考。

json代码:

{
  "AWSEBDockerrunVersion": "2",  
"containerDefinitions": [

{

      "name": "agshift_strawberry",
      "image": "705395670584.dkr.ecr.us-west-2.amazonaws.com/agshift_strawberry:latest",
      "essential": true,
      "memory": 512,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80
        }
      ]
}

]
}

错误:

ECS 任务因以下原因停止:任务中的基本容器已退出。(agshift_strawberry:CannotPullContainerError:AccessDeniedException:用户:arn:aws:sts::705395670584:assumed-role/aws-elasticbeanstalk-ec2-role/i-05f177a336c68b998 无权执行:ecr:GetAuthorizationToken on resource:* 状态代码:400 ,请求编号:c37a11c1-)

4

1 回答 1

8
  1. 打开 IAM 控制台
  2. 点击角色
  3. 查找 aws-elasticbeanstalk-ec2-role
  4. 添加包含ecr:GetAuthorizationToken权限的策略。
于 2017-03-06T20:45:04.930 回答