Nic*_*len 30 amazon-web-services amazon-ecs docker amazon-elastic-beanstalk
我有一个上传到ECS的自定义docker镜像.我打开了权限,试图解决这个问题(一旦我能够解决这个问题,我会再次将其锁定).我正在尝试将docker镜像部署到弹性beanstalk.我设置了一个支持docker的弹性beanstalk环境.根据AWS文档,如果我从AWS中提取我的图像,我不需要传递凭据.所以我上传了我的Dockerrun.aws.json文件并尝试安装它.它失败并出现错误:
命令在实例上失败.返回码:1输出:无法使用ECR对'us-east-1'中的注册表'434875166128'进行身份验证.挂钩/opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh失败.有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log.
/var/log/eb-activity.log信息没有任何用处.
这是我的Dockerrun.aws.json文件:
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "{id000xxxx}.dkr.ecr.us-east-1.amazonaws.com/my-repo:1.0.0",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "4000"
}
],
"Logging": "/var/log/app-name"
}
Run Code Online (Sandbox Code Playgroud)
我还尝试在S3中使用dockercfg.json文件添加身份验证.它对我也没有用.
请注意,我使用的是商家帐户而非个人帐户,因此可能还会有一些未知的差异.
谢谢!
更新:我的用户此刻也具有完全权限,因此不应该有任何权限方式阻碍.
小智 61
我遇到了同样的问题.
解决方案:AWS -> IAM -> Roles - >选择beanstalk正在使用的角色.
在我的情况下它被设置为 aws-elasticbeanstalk-ec2-role
在角色的权限下,附加策略:AmazonEC2ContainerRegistryReadOnly
在ECR中,无需为此角色授予任何权限.
| 归档时间: |
|
| 查看次数: |
4327 次 |
| 最近记录: |