繁体   English   中英

无法将映像推送到ECS专用注册表-没有基本的身份验证凭据

[英]Can't push an image to ECS Private Registry - no basic auth credentials

在OSX中,我只是遵循您可以在此处找到的指南(以下详细的复制步骤): https ://console.aws.amazon.com/ecs/home?region = us-east-1#/repositories/create

aws-cli / 1.10.24 Python / 2.7.10达尔文/15.4.0 botocore / 1.4.15

Docker版本1.11.1,内部版本5604cbe(新Beta)

一切顺利,直到push命令失败为止:

没有基本的身份验证凭据

我在这里看到有人出现相同错误: 无法将映像推送到Amazon ECR-失败,并显示“没有基本身份验证凭证”。不幸的是,我的问题似乎与访问密钥不匹配有关。 我已经重设了几次以进行检查。

这是我已采取的步骤:

➜  eval $(aws ecr get-login --region us-east-1)
Warning: '-e' is deprecated, it will be removed soon. See usage.
Login Succeeded
~/projects/pw/docker/aws-wordpress ‹master ✗›  (ruby-2.3.1) (5.11.0) ()

➜  docker build -t testing .
Sending build context to Docker daemon 38.91 kB
Step 1 : FROM wordpress:latest
 ---> 81aa77247862
...etc...
Removing intermediate container c5849505c95d
Successfully built 63b304c8227a
~/projects/pw/docker/aws-wordpress ‹master ✗›  (ruby-2.3.1) (5.11.0) ()

➜  docker tag testing:latest MYACCOUNT.dkr.ecr.us-east-1.amazonaws.com/testing:latest
~/projects/pw/docker/aws-wordpress ‹master ✗›  (ruby-2.3.1) (5.11.0) ()

➜  docker push MYACCOUNT.dkr.ecr.us-east-1.amazonaws.com/testing:latest
The push refers to a repository [MYACCOUNT.dkr.ecr.us-east-1.amazonaws.com/testing]
d80ff78e2dbe: Preparing
...etc...
23b28a7c4771: Waiting
6eb35183d3b8: Waiting
no basic auth credentials

为了能够推送到ecr,您需要登录到ecr docker repo。 为此,您将需要使用aws configure设置您的访问密钥(具有ecr特权)。

然后执行

评估$(aws ecr get-login --region us-east-1)

成功后,您应该会看到登录成功

作为Shibashis的补充,您可以尝试添加-no-include-email:

eval $(aws ecr get-login --no-include-email | sed 's|https://||')

为了更清楚,

在使用push命令之前,您是否通过docker从终端登录到AWS?

如果您想知道如何获取登录cmd,您是否注意到AWS本身通过aws ecr get-login这个命令生成了该命令?

docker login -u AWS -p <hashpassword-from-aws-ecr-cmd>

并做

docker push <ecr-repo-url>

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM