Я хочу использовать изображение docker, размещенное на ECR, и я хочу автоматизировать операцию извлечения с помощью шаблона cloudformation.
Я подключил роль IAM с полным доступом ECR к экземпляру ec2, и это не работает.
я делаю docker pull 1234567897.dkr.ecr.us-west-2.amazonaws.com/repo:tag
и я получаю сообщение об ошибке Error response from daemon: Get https://1234567897.dkr.ecr.us-west-2.amazonaws.com/repo:tag/manifests/latest: no basic auth credentials
Используя ECR, EC2 и docker, вам по-прежнему необходимо выполнить docker login
.
В пользовательских данных запустите
aws ecr get-login --no-include-email > login.sh
bash login.sh
тогда вы должны быть в состоянии запустить
docker pull ecr_registry/repo:tag
https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_AWSCLI.html
Если вы используете экземпляр EC2 под управлением Windows, вам необходимо выполнить эквивалентную powershell команду aws ecr get-login
который
Invoke-Expression –Command (Get-ECRLoginCommand –Region region).Command
Принятый ответ правильный, я просто добавлю однострочный пример:
бежать:
$(aws ecr get-login --no-include-email)
и затем:
docker pull <ecr_host>/<repo>:<tag>