amazon-web-services - 将 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
我怎么解决这个问题?
解决方案
你在跑sudo docker push
。
这意味着不会使用您帐户中的凭据。相反,Docker 正在尝试在 root 用户帐户中使用(不存在的)凭据。
将您的命令更改为docker push
就足够了。
推荐阅读
- html - 通过将鼠标悬停在 div 上开始视频
- javascript - 避免简单输出的分页限制 - Shopify / Liquid
- python - 如何在熊猫中格式化不同的值?
- sql - 我们可以在两个不同的查询中应用案例吗?
- typescript - TypeScript union type allowing values outside of type
- android - Android Studio 中的 Firebase 手机身份验证错误
- jdbc - 使用 neo4j jdbc 驱动程序和 neo4j 4 准备好的语句中的密码查询中的参数语法是什么?
- angular - 如何将输入和结果数据显示中的数据发布到 Angular 中的组件?
- angular - 如何获取订阅之外的价值?
- java - 大型对象描述符是否有多个“特殊值”