Mac OS下AWS ECR docker login的问题
- 问题
- 解决方案
问题
报错信息:
Error: Cannot perform an interactive login from a non TTY device
解决方案
- 搜索到的参考方案:不适用我这种情况的解决方案
该方案的内容是:在命令:docker login xxxx 之前加上 winpty,将执行命令变为:winpty docker login xxxxx ,我执行的结果为-bash: winpty :command not found - 适用的解决方案
由于登陆的是AWS ECR的仓库,执行的命令是(其中‘xxx’替换为自己AWS环境的参数即可):
1 | aws ecr get-login-password --region cn-north-1 | docker login --username AWS --password-stdin xxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/xxx/project |
而awscli已经作了升级,我还是原来1.0的awscli,按AWS的文档重新安装了2.0的awscli之后执行成功。
若已安装了awscli v1.0,则执行如下命令:
1 2 3 | curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg ./AWSCLIV2.pkg -target / |
注意:这里没有sudo密码的请开启Mac OS的root用户后重试,可参考:如何在Mac OS中添加root用户
AWS参考文档:安装AWS CLI v2