1

当我尝试推送 docker 容器被拒绝时出现此错误:您的授权令牌已过期。

我有 aws ecr get-login --no-include-email --region us-east-1,我尝试了有人在此处发布的黑客攻击,您在其中取出 https 无用。

当我运行 aws ecr get-login ... 我得到我复制并粘贴它的代码并得到一条成功的消息但是当我尝试推送我的 docker 容器时,我得到了拒绝:您的授权令牌已过期。我正在使用 docker 版本 Docker 版本 17.03.1-ce。任何想法我能做什么?

谢谢!

4

2 回答 2

0

请使用以下命令组合:

aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <AWS_ACCOUNT_NO>.dkr.ecr.us-east-1.amazonaws.com

从文档中引用:

“此命令使用 GetAuthorizationToken API 检索并显示身份验证令牌,您可以使用该 API 对 Amazon ECR 注册表进行身份验证。您可以将授权令牌传递给您偏好的容器客户端的登录命令,例如 Docker CLI。”

参考:https ://docs.aws.amazon.com/cli/latest/reference/ecr/get-login-password.html

于 2021-04-02T13:09:51.497 回答
0

一个原因可能是 aws-cli 版本。这个 CLI 工具的版本似乎是一个 Python 包,可以在aws --version. 我在版本中遇到了这个错误aws-cli/2.1.29,但在旧版本中没有aws-cli/1.18.40

“aws ecr get-login”命令已弃用,亚马逊建议改用“aws ecr get-login-password”。

于 2021-03-31T11:42:52.803 回答