Проблема с Push-изображением публичного репозитория AWS

#amazon-web-services #docker #amazon-ecr #amazon-ecr-public

Вопрос:

Я создал один репозиторий ECR как общедоступный. Теперь, с моего локального сервера docker, я создаю образ и хочу поместить его в AWS ECR в качестве общедоступного образа. AWS предоставил опцию просмотра параметров, но она не сработала, получив ошибку ниже при выполнении команды ниже.

  **docker login -u AWS -p $(aws ecr get-login-password --region ap-northeast-2) 
 public.ecr.aws/m8r0s3o9**              
 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: login attempt to https://public.ecr.aws/v2/ failed with status: 400 Bad Request
 

Для частного хранилища это отлично работает для меня.

Любое предложение было бы весьма разумным, нужно ли мне добавлять какую-либо роль/политику для моего пользователя aws?

Комментарии:

1. Вы пытались выполнить точно те же команды (изменив только репо региона/ecr), что и в документации ? docs.aws.amazon.com/AmazonECR/latest/public/… — Также вы можете запустить команду docker с опцией —debug — И, наконец, можете ли вы раскрыть публичное хранилище и изображение/тег, к которым вы пытаетесь получить доступ ?

Ответ №1:

Спасибо за ваши рекомендации по обратной связи.

Я обнаружил проблему, я имел в виду «просмотр командных инструкций push», где в команде отображается соответствующая область.

Но для публичного репозитория нужно всегда запускать команду ниже.

 aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/<your repo name>
 

короче говоря, при аутентификации в общедоступном реестре всегда выполняйте аутентификацию в регионе США-восток-1 при использовании интерфейса командной строки AWS.

Это решило мою проблему, и я смог вставить изображения докера в ECR. Команды Rest одинаковы.