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


10

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

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

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


1
Если есть «легкий» (такой же простой) способ добиться того же, не используя веб-хуки, мне тоже интересно. :)
Пи Джей Бержерон,

Ответы:


3

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

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

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

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

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

Docker Puller - еще одно простое приложение, на которое вы можете взглянуть .


Возможно, вы также захотите взглянуть на это обсуждение применения обновлений безопасности из базовых образов
Тони О'Хаган,

Некоторые из этих ссылок теперь не работают, но проекты GitHub остаются
Тони О'Хаган

0

Существует также более свежая версия Docker-Image-Puller.

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


-1

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

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

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


Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится.
Майкл Хэмптон

@MichaelHampton Я думаю, что мой ответ будет полезным, я добавил больше описания.
emj365
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.