Cannot perform an interactive login from a non TTY device

Mac OS下AWS ECR docker login的問題

問題

報錯信息:
Error: Cannot perform an interactive login from a non TTY device

解決方案

  1. 搜索到的參考方案:不適用我這種情況的解決方案
    該方案的內容是:在命令: docker login xxxx 之前加上 winpty,將執行命令變爲: winpty docker login xxxxx,我執行的結果爲 -bash: winpty :command not found
  2. 適用的解決方案
    由於登陸的是AWS ECR的倉庫,執行的命令是(其中‘xxx’替換爲自己AWS環境的參數即可):
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,則執行如下命令:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章