ECR登录失败求助:执行登录命令报凭证存储错误如何解决?
解决Docker登录ECR-public时报错"The stub received bad data"的方法
这个错误通常和Windows凭证管理器与Docker的凭证存储交互异常有关,以下是几种可行的解决办法:
1. 修改Docker凭证存储配置
打开C:\Users\<你的用户名>\.docker\config.json文件,检查是否存在"credsStore": "wincred"这一行:
- 如果有,将其修改为
"credsStore": "desktop",或者直接删除该行,让Docker使用文件存储凭证 - 保存文件后重启Docker Desktop,再重新运行登录命令
2. 清理Windows凭证管理器中的旧凭证
- 通过Windows搜索栏打开凭证管理器
- 切换到Windows凭证标签,查找所有包含
docker、public.ecr.aws或ECR的凭证条目,全部删除 - 重新执行ECR登录命令
3. 重启Windows凭证管理器服务
- 按下Win+R,输入
services.msc打开服务管理器 - 找到Credential Manager服务,右键选择「重启」
- 重启完成后再次尝试登录命令
4. 更新Docker Desktop到最新版本
旧版本的Docker可能和Windows系统的凭证管理存在兼容性问题,安装最新版Docker Desktop后重启系统再试
临时应急方案(不保存凭证)
如果以上方法都无效,可以尝试临时绕过凭证存储,直接登录(重启Docker后需要重新执行):
$password = aws ecr-public get-login-password --region us-east-1 docker login --username AWS --password $password public.ecr.aws/你的仓库路径
内容的提问来源于stack exchange,提问作者Pippo
相关产品推荐
相关产品推荐

