Как вытащить изображение docker на ECR с помощью шаблона cloudformation

Я хочу использовать изображение 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>