Канал команд входа в систему AWS ECR в mac os

#macos #amazon-web-services #amazon-ecr

#macos #amazon-веб-сервисы #amazon-ecr

Вопрос:

Я пытаюсь войти в docker amp; ecr с помощью одной команды в Mac os.

Пока я добрался до этого :

 aws ecr get-login --region ap-south-1 | docker login --username AWS --password-stdin Xxxx.dkr.ecr.ap-south-1.amazonaws.com 
  

Ответ об ошибке от демона: попытка входа в систему https://xxx.dkr.ecr.ap-south-1.amazonaws.com/v2 / сбой со статусом: 400 Неверный запрос

Есть идеи, как это решить?

 aws ecr get-login --region ap-south-1 
  

есть ответ, я пытаюсь передать его следующей команде

 docker login -u AWS -p **KEY** https://xx.dkr.ecr.ap-south-1.amazonaws.com
  

Ответ №1:

Во-первых, убедитесь, что вы обновили интерфейс командной строки AWS до последней версии. Затем используйте следующую команду ( AWS_ACCOUNT_ID замените свой фактический идентификатор учетной записи):

 $ aws ecr get-login-password --region ap-south-1 | 
  docker login --username AWS --password-stdin AWS_ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com
  

См. Также Документы ECR.

Ответ №2:

Я использовал неправильный идентификатор учетной записи, и мне помогло следующее. Первый запуск:

 aws sts get-caller-identity
  

Вы должны получить вывод, который выглядит следующим образом:

 {
    "UserId": "AIDAUQ6COKW7R5SO7XYZ",
    "Account": "311256041234",
    "Arn": "arn:aws:iam::311256041234:user/john" 
}
  

И используйте идентификатор учетной записи, а не «john» или «userId» (заменить your_region ):

 aws ecr get-login-password --region your_region | docker login --username AWS --password-stdin 311256041234.dkr.ecr.your_region.amazonaws.com