Автоматический вход в Amazon ECR с помощью Docker Swarm

У нас есть образы Docker, размещенные в Amazon ECR, и цель - запустить их на экземплярах EC2 с помощью Docker Swarm. Службы настроены в глобальном режиме, поэтому они автоматически реплицируются на новые узлы. Автомасштабирующая группа может автоматически добавлять новые экземпляры EC2 в рой.

Проблема в том, что Docker не может вытащить образы из реестра ECR. Есть ли способ сказать, что Докер Рой, чтобы бежать aws ecr get-login перед извлечением изображений или есть способ постоянного входа в ECR при использовании роли IAM для аутентификации в ECR?

Бег aws ecr get-login при запуске новых узлов тоже не работает.

К вашему сведению: я не ищу --with-registry-authЭто прекрасно работает, когда я вручную обновляю сервис, но не когда AWS автоматически добавляет новые узлы.

0 ответов

У меня была та же проблема при использовании Docker Swarm и включенного автоматического масштабирования AWS.

Решение. Необходимо периодически запускать следующую команду для всех служб.

docker service update -d -q --with-registry-auth service-name

Запуск aws ecr-get login при запуске узла не будет работать.

Этот блог описывает проблему и предоставляет полное решение о том, как реализовать автоматический вход в ECR.

http://issamben.com/docker-swarm-ecr-auto-login/

Для тех, кто все еще ищет решение, следуйте этой статье. Это более стабильное решение. https://medium.com/@MahmoudGaballah/ecr-for-docker-swarm-fdea3a9b01b1

Другие вопросы по тегам