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