Docker - 被拒绝:您的授权令牌已过期

use*_*782 5 amazon-web-services docker amazon-ecr

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

我有 aws ecr get-login --no-include-email --region us-east-1,我尝试了有人在这里发布的黑客攻击,您取出了 https,但没有任何效果。

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

谢谢!

Ami*_*ena 7

请使用以下命令组合:

aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <AWS_ACCOUNT_NO>.dkr.ecr.<AWS_REGION_NAME>.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

引用自文档:

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

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


0x4*_*672 0

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

“aws ecr get-login”命令已弃用,Amazon 建议使用“aws ecr get-login-password”。