AWS Elastic Beanstalk - 多容器 Docker

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk - 多容器 Docker【英文标题】:AWS Elastic Beanstalk - Multi Container Docker 【发布时间】:2017-07-26 17:17:34 【问题描述】:

我们计划使用多容器 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:假定角色/aws-elasticbeanstalk-ec2-role/i-05f177a336c68b998 无权执行:ecr:GetAuthorizationToken 对资源:* 状态码:400,请求ID:c37a11c1-)

【问题讨论】:

【参考方案1】:
    打开 IAM 控制台 点击角色 找到 aws-elasticbeanstalk-ec2-role 添加包含ecr:GetAuthorizationToken 权限的策略。

【讨论】:

以上是关于AWS Elastic Beanstalk - 多容器 Docker的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 多容器 Docker 配置上的 HTTPS/SSL 问题

AWS Elastic Beanstalk - 请求实体太大 (413)

AWS Elastic Beanstalk 运行状况检查偶尔失败

带有 Amazon ECR Docker 映像的 AWS Elastic Beanstalk

AWS CodePipeline - 使用现有 Dockerrun.aws.json 部署到 Elastic Beanstalk

AWS Elastic Beanstalk:将容器日志流式传输到 CloudWatch 问题