我们计划用多容器docker实现AWS Elastic Beanstalk。我有一个IAM用户,可以完全访问所有服务。 我创建了Docker映像,并成功地推向AWS弹性容器服务。 当我使用AWS Elastic Beanstalk将Docker Image(.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:cose pullcontainerError:accessDeniedException: 用户: ARN:AWS:STS :: 705395670584:假定的/AWS-ELASTERBEASTALK-EC2-ROLE/I-05F177A336C68B998 无权执行:ECR:getAuthorizationToken在资源上: * 状态代码:400,请求ID:C37A11C1-)
- 打开IAM控制台
- 单击角色
- 找到AWS-弹性Beanstalk-ec2-lole
- 添加包含
ecr:GetAuthorizationToken
许可的策略。