Я хочу использовать образ докера, размещенный на ECR, и хочу автоматизировать операцию извлечения с помощью шаблона облачной информации.
Я прикрепил роль 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 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>