0

我创建了一个公开的 ECR 存储库。现在,从我的本地 docker 服务器构建映像,我想将映像推送到 AWS ECR 中作为公共映像。AWS 提供了选项视图推送选项,但它不起作用,运行以​​下命令时出现以下错误。

 **docker login -u AWS -p $(aws ecr get-login-password --region ap-northeast-2) 
 public.ecr.aws/m8r0s3o9**              
 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: login attempt to https://public.ecr.aws/v2/ failed with status: 400 Bad Request

对于私人存储库,它对我来说很好。

任何建议都会非常重要,我是否需要向我的 aws 用户添加任何角色/策略?

4

1 回答 1

1

感谢您的反馈指导。

我发现了问题,我指的是“查看推送命令说明”,其中相应区域显示在命令中。

但是对于公共存储库,需要始终在命令下运行。

aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/<your repo name>

所以简而言之,在对公共注册表进行身份验证时,请始终在使用 AWS CLI 时对 us-east-1 区域进行身份验证。

它解决了我的问题,我能够在 ECR 中推送 docker 图像。休息命令是一样的。

于 2021-09-21T12:08:26.927 回答