我正在尝试使用 aws-cli 将 docker 映像推送到 AWS ECR 存储库。
- 我只是运行
get-login
命令 - 执行输出(返回
login succeeded
) - 然后尝试推送 docker 映像,然后我收到消息:
denied: Your Authorization Token has expired. Please run
'aws ecr get-login' to fetch a new one.
我不知道出了什么问题,我正在推动正确的回购,我的 mac 上的时间是正确的。这以前可以工作,但是由于我重新安装了我的 mac 并升级到 macOS Sierra,它不再工作了,所以可能与此有关。
我的 aws --version
输出:
aws-cli/1.11.34 Python/2.7.10 Darwin/16.3.0 botocore/1.4.91
我运行的命令的完整输出:
$ aws ecr get-login --region eu-west-1
docker login -u AWS -p AQECAHh....b6Wk -e none https://1234567890.dkr.ecr.eu-west-1.amazonaws.com
$ docker login -u AWS -p AQECAHh....b6Wk -e none https://1234567890.dkr.ecr.eu-west-1.amazonaws.com
Flag --email has been deprecated, will be removed in 1.13.
Login Succeeded
$ docker push 1234567890.dkr.ecr.eu-west-1.amazonaws.com/service-web:latest
The push refers to a repository [1234567890.dkr.ecr.eu-west-1.amazonaws.com/service-web]
c1f87971dfa9: Preparing
2eb644aea3de: Preparing
9c8843ffe48e: Preparing
39bb58d049d4: Preparing
f053bc969599: Preparing
7169084246b8: Waiting
bb134a1936fd: Waiting
184e76848a1c: Waiting
75c8fcf65748: Waiting
eb9b9ee1ea58: Waiting
f4bf35723edd: Waiting
ddffe1a64b3c: Waiting
fd1a1154db16: Waiting
b542e946067a: Waiting
d49ed2a5e1ed: Waiting
bb39b980367a: Waiting
25b8358d062f: Waiting
997eee521fc7: Waiting
50b5447183a8: Waiting
4339b5cb0e1d: Waiting
3dbd4a53b21b: Waiting
2bec16216500: Waiting
b9fd8e264df6: Waiting
b6ca02dfe5e6: Waiting
denied: Your Authorization Token has expired. Please run 'aws ecr get-login' to fetch a new one.
原文由 Ludo - Off the record 发布,翻译遵循 CC BY-SA 4.0 许可协议
上述两种解决方案都不适用于我,但我发现当我在 ecr login 命令中设置区域时它有效。
aws ecr get-login --region us-west-2