Actualice automáticamente los contenedores Docker usando webhooks


10

He creado un repositorio de Github y un repositorio de Docker. Ambos funcionan muy bien juntos: cuando introduzco una nueva versión de Dockerfile en Github, se crea automáticamente una nueva imagen dentro del repositorio de Docker.

Ahora, me gustaría que mis contenedores en ejecución se actualicen automáticamente cuando la imagen base se (re) construya.

¿Cómo puedo lograrlo usando Docker repos webhooks?


1
Si hay una forma "fácil" (tan fácil como esta) de lograr lo mismo sin usar webhooks, también estoy interesado. :)
PJ Bergeron

Respuestas:


3

El equipo de Century Link Labs ha desarrollado 2 nuevas herramientas de código abierto que pueden usar enlaces web para actualizar los contenedores en ejecución.

Su primera aplicación es Zodiac que utiliza un modelo de implementación "push". Es una herramienta liviana construida sobre Docker Compose , para una fácil implementación y reversión de aplicaciones dockerizadas. Mantiene un historial de todas las implementaciones que también le permite retroceder a una implementación anterior.

Su segunda aplicación, Watchtower, utiliza un modelo de implementación "pull". Este modelo permite que los contenedores Docker que residen detrás de un firewall detecten y extraigan cambios de manera más segura sin exponer un puerto externo.

La Watchtower sabe cómo reiniciar correctamente un conjunto de contenedores vinculados. Si se detecta una actualización para una de las dependencias en un grupo de contenedores vinculados, Watchtower se detendrá e iniciará todos los contenedores en el orden correcto para que la aplicación vuelva a funcionar correctamente.

No tengo afiliación con Century Link Labs.

Otra aplicación más simple que es posible que desee echar un vistazo es Docker Puller .


También es posible que desee ver esta discusión sobre cómo aplicar actualizaciones de seguridad de las imágenes base
Tony O'Hagan,

Algunos de estos enlaces ahora están rotos pero los proyectos de GitHub permanecen
Tony O'Hagan

0

También hay un más reciente docker-image-puller

Está conectado directamente al zócalo de su Docker y utiliza la API de Docker para actualizar sus contenedores en ejecución que utilizan la imagen que especifique en el webhook. Es bastante simple, tal vez se puedan agregar más opciones en el futuro


-1

Encontré esto, pero aún no lo he intentado:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf este es un artículo sobre el uso de webhook para implementar contenedores con Docker Hub.

Básicamente, le dice que podría usar algún tipo de herramienta (consulte el enlace a continuación) para manejar el webhook en su "máquina" acoplable. https://github.com/iaincollins/docker-deploy-webhook


Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
Michael Hampton

@MichaelHampton Creo que mi respuesta sería útil, agregué más descripción.
emj365
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.