执行ECR登录命令遇.Password was unexpected at this time报错,求助推送项目至ECR
解决ECR登录报错“.Password was unexpected at this time”的方案
问题原因
你执行的命令是PowerShell专属语法,如果在CMD命令提示符中运行,CMD无法识别.Password这种PowerShell的属性调用方式,就会抛出该错误。
解决方案
场景1:使用PowerShell执行(推荐)
直接在PowerShell窗口中运行原命令(替换[my-id]为你的AWS账户ID):
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin [my-id].dkr.ecr.ap-southeast-2.amazonaws.com
执行完成后即可看到Login successful提示。
场景2:在CMD命令提示符中执行
需要转换为CMD兼容的语法,分两步执行:
- 先通过PowerShell获取ECR登录密码并赋值给环境变量:
for /f "tokens=*" %a in ('powershell -Command "(Get-ECRLoginCommand).Password"') do set ECR_PASSWORD=%a
- 再用该密码执行docker登录:
docker login --username AWS --password %ECR_PASSWORD% [my-id].dkr.ecr.ap-southeast-2.amazonaws.com
注意:如果是在批处理脚本中执行,需将命令中的
%a替换为%%a。
前置检查
- 确认AWS CLI已安装并配置完成,可单独执行
Get-ECRLoginCommand测试是否返回有效结果。 - 确认Docker服务已正常启动。
内容的提问来源于stack exchange,提问作者user24210966
相关产品推荐
相关产品推荐

