Я создал GitHub repo и Докера repo. Оба сотрудничают очень хорошо: когда я продвигаю новую версию Dockerfile к GitHub, новое изображение автоматически создается в Докере repo.
Теперь, я хотел бы иметь свои рабочие контейнеры, автоматически обновленные, когда базовое изображение созданное (ре).
Как я могу достигнуть его с помощью Докера repos webhooks?
Команда Century Link Labs разработала 2 новых инструмента с открытым исходным кодом, которые могут использовать веб-хуки для обновления запущенных контейнеров.
Их первое приложение - Zodiac , которое использует модель «толкающего» развертывания. Это легкий инструмент, созданный на основе Docker Compose , для легкого развертывания и отката докеризованных приложений. Он поддерживает историю всех развертываний, что также позволяет вам откатиться к предыдущему развертыванию.
Их второе приложение Watchtower использует "pull" «модель развертывания.Эта модель позволяет контейнерам Docker, находящимся за брандмауэром, обнаруживать и более безопасно извлекать изменения, не открывая внешний порт.
Сторожевая башня знает, как правильно перезапустить набор связанных контейнеров. Если обновление обнаружено для одной из зависимостей в группе связанных контейнеров, Watchtower остановит и запустит все контейнеры в правильном порядке, чтобы приложение вернулось правильно.
Я не связан с Century Link Labs.
Еще одно более простое приложение, на которое вы, возможно, захотите взглянуть, - это Docker Puller .
Также есть более свежий docker-image-puller
Он подключен непосредственно к сокету Docker'а и использует Docker API для обновления запущенных контейнеров, которые используют изображение, указанное вами на веб-узле. Это довольно просто, возможно, в будущем можно будет добавить дополнительные опции
.Я нашел это, но еще не пробовал:
https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf это статья об использовании веб-перехватчика для развертывания контейнера с докер-хабом.
По сути, в нем говорится, что вы можете использовать какой-то инструмент (проверьте ссылку ниже) для обработки веб-перехватчика на вашей «машине» докера. https://github.com/iaincollins/docker-deploy-webhook