登录AWS ECR成功后拉取镜像提示‘no basic auth credential’求助
解决EC2上sudo docker拉取ECR镜像提示no basic auth credential的问题
问题根源
你以普通用户身份执行docker login后,认证信息存储在普通用户的~/.docker/config.json中,但使用sudo运行docker命令时,docker会读取root用户的/root/.docker/config.json文件,该文件中没有ECR的认证凭证,因此报错。
解决方法
方法一:用sudo重新执行登录命令
直接以root身份完成ECR登录,让认证信息写入root的配置文件:sudo aws ecr get-login-password --region us-east-1 | sudo docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-east-1.amazonaws.com注意:登录ECR只需指定仓库的基础域名(账号ID+ECR域名后缀),无需附加具体镜像和标签。
方法二:复制普通用户的认证配置到root目录
将已有的认证信息复制到root用户的docker配置目录:sudo cp ~/.docker/config.json /root/.docker/ sudo chown root:root /root/.docker/config.json
验证
执行以下命令尝试拉取镜像:
sudo docker pull 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-base-image:latest
内容的提问来源于stack exchange,提问作者Judi
相关产品推荐
相关产品推荐

