【发布时间】:2017-12-04 15:45:56
【问题描述】:
我是 AWS 新手,我正在尝试将多容器 Docker 应用程序部署到 Elastic Beanstalk。 我的 Dockerrun.aws.json 文件很简单,也是唯一上传到 EB 的:
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
{
"name": "mycontainer",
"image": "somethingsomething.eu-central-1.amazonaws.com/myimage",
"essential": true,
"memory": 128
}
]
}
在http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker.container.console.html 中说,当使用上传到 Amazon ECR 的 Docker 映像时:
但是,您确实需要向您的实例提供以下权限 通过添加权限访问您的 Amazon ECR 存储库中的图像 到您环境的实例配置文件。您可以附上 实例的 AmazonEC2ContainerRegistryReadOnly 托管策略 配置文件以提供对所有 Amazon ECR 存储库的只读访问权限 您的帐户
在部署应用程序时,会引发以下错误:
ECS 任务因以下原因停止:任务中的基本容器已退出。 (myimage:CannotPullContainerError:AccessDeniedException:用户: arn:aws:sts::xxx:假定角色/aws-elasticbeanstalk-ec2-role/i-xyz 无权执行:ecr:GetAuthorizationToken 对资源:* 状态码:400,请求ID:4143c35d-)
我将 AWSElasticBeanstalkReadOnlyAccess 添加到 aws-elasticbeanstalk-ec2-role,但它并没有改变任何东西...
帮忙?!
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk