AWS Elastic Beanstalk - 多容器Docker

时间:2017-03-06 17:53:01

标签: amazon-web-services amazon-elastic-beanstalk amazon-ecs aws-elasticfilesystem

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

Json Code:

{
  "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:   用户:   阿尔恩:AWS:STS :: 705395670584:假设角色/ AWS-elasticbeanstalk-EC2角色/ I-05f177a336c68b998   无权执行:ecr:资源上的GetAuthorizationToken:*   状态代码:400,请求ID:c37a11c1 - )

1 个答案:

答案 0 :(得分:2)

  1. 打开IAM控制台
  2. 点击角色
  3. 查找aws-elasticbeanstalk-ec2-role
  4. 添加包含ecr:GetAuthorizationToken权限的政策。