Автоматический вход в 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.
Для тех, кто все еще ищет решение, следуйте этой статье. Это более стабильное решение. https://medium.com/@MahmoudGaballah/ecr-for-docker-swarm-fdea3a9b01b1