首页 > 解决方案 > 将 docker 映像推送到 aws ecr 不会提供基本的身份验证凭据

问题描述

当我尝试将 docker 映像推送到 aws ecr 时,它无法提供以下信息

sudo docker push xxxxxxx.dkr.ecr.us-east-2.amazonaws.com/my-app:1.0

7d9a9c94af8d: Preparing 
f77d412f54b5: Preparing 
629960860aca: Preparing 
f019278bad8b: Preparing 
8ca4f4055a70: Preparing 
3e207b409db3: Waiting 
no basic auth credentials

虽然登录成功

aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin xxxx.dkr.ecr.us-east-2.amazonaws.com

Login Succeeded

并且 /home/[my user]/.docker/config.json 文件有以下数据

{
    "auths": {
        "xxxx.dkr.ecr.us-east-2.amazonaws.com": {
            "auth": "QVsVkhaRT...."
        }
    }
}

我正在使用 aws cli 版本 2.3.5

aws --version
aws-cli/2.3.5 Python/3.8.8 Linux/5.8.0-63-generic exe/x86_64.ubuntu.20 prompt/off

我正在使用 docker 版本 20.10.10

docker --version 
Docker version 20.10.10, build b485636

我怎么解决这个问题?

标签: amazon-web-servicesdockerdevopsamazon-ecrdocker-push

解决方案


你在跑sudo docker push

这意味着不会使用您帐户中的凭据。相反,Docker 正在尝试在 root 用户帐户中使用(不存在的)凭据。

将您的命令更改为docker push就足够了。


推荐阅读