Error response from daemon: login attempt to https://<ACCOUNT_ID>.dkr.ecr.ap-northeast-1.amazonaws.com/v2/ failed with status: 400 Bad Request
我是使用ps脚本本地构建docker镜像并上传到aws的ecr,办公室的电脑一直是没问题的。家里电脑有一段时间没有上传过了,今天上传却报了标题中的错误,花了很久才解决,记录一下。
$ecrPwd = aws ecr get-login-password --region ap-northeast-1
echo $ecrPwd | docker login --username AWS --password-stdin <ACCOUNT_ID>.dkr.ecr.ap-northeast-1.amazonaws.com
上面的命令是获取 ecr 登录密码并登录,报错 failed with status: 400 Bad Request。
我使用的是 PowerShell 5,是支持管道将密码传给 docker 的。报错说明有问题。
docker login -u AWS -p $pwd <ACCOUNT_ID>.dkr.ecr.ap-northeast-1.amazonaws.com
使用上面的命令 Login Succeeded,非常奇怪。 忽然想起前短时间为了解决 PowerShell 中文乱码的问题,将 控制面板-> 区域->管理->更改系统区域设置 中的 “Beta 版:使用 Unicode UTF-8 提供全球语言支持(U)” 勾选上了。

我尝试勾掉,然后重启电脑,果然可以了。