#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 одинаковы.