Назад | Перейти на главную страницу

Автоматически обновлять контейнеры Docker с помощью веб-перехватчиков

Я создал репозиторий Github и репозиторий Docker. Оба работают вместе очень хорошо: когда я отправляю новую версию Dockerfile на Github, в репозитории Docker автоматически создается новый образ.

Теперь я хотел бы, чтобы мои работающие контейнеры автоматически обновлялись при (пере) построении базового образа.

Как я могу добиться этого с помощью веб-перехватчиков репозиториев Docker?

Команда Century Link Labs разработала 2 новых инструмента с открытым исходным кодом, которые могут использовать веб-хуки для обновления запущенных контейнеров.

Их первое приложение Зодиак который использует модель развертывания "push". Это легкий инструмент, созданный поверх Docker Compose, для легкого развертывания и отката докеризованных приложений. Он поддерживает историю всех развертываний, что также позволяет вам вернуться к предыдущему развертыванию.

Их второе приложение Сторожевая башня использует модель развертывания «вытягивание». Эта модель позволяет контейнерам Docker, которые находятся за брандмауэром, обнаруживать и более безопасно извлекать изменения, не открывая внешний порт.

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

Я не имею отношения к Century Link Labs.

Еще одно более простое приложение, на которое вы, возможно, захотите взглянуть, - это Докер Съемник.

Есть и более свежий docker-image-съемник

Он подключен напрямую к сокету вашего Docker и использует Docker API для обновления запущенных контейнеров, которые используют изображение, указанное в веб-перехватчике. Это довольно просто, возможно, в будущем можно будет добавить больше опций

Я нашел это, но еще не пробовал:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf это статья об использовании веб-перехватчика для развертывания контейнера с докер-хабом.

По сути, он говорит, что вы можете использовать какой-то инструмент (проверьте ссылку ниже), чтобы обрабатывать веб-перехватчик на вашей «машине» докера. https://github.com/iaincollins/docker-deploy-webhook