Docker: Ouroboros, el sucesor de Watchtower

Hace poco os escribí como actualizar automáticamente vuestros contenedores en docker gracias a Watchtower, hoy os presento a su sucesor Ouroboros, mientras Watchtower esta escrito en Go, Ouroboros lo está en python 3.

Instalación

Al igual que Watchtower, Ouroboros se ejecuta como una imagen de Docker e interactúa con la API de Docker utilizando el socket local.

docker run -d --name ouroboros \
 -v /var/run/docker.sock:/var/run/docker.sock \
 pyouroboros/ouroboros

Caracteristicas

Ouroboros admite muchas opciones de configuración diferentes, como:

  • Monitorea y actualiza contenedores en múltiples servidores remotos que ejecutan Docker
  • Monitorea la etiqueta de la imagen actual o va directamente a latest
  • Ignorar contenedores específicos
  • Soporte para registros privados.
  • Personalizar el intervalo pull
  • Supervisar contenedores seleccionados por nombre
  • Cambiar el nivel de registro para la depuración/supresión
  • Ejecuta ouroboros solo una vez para actualizar, luego termina
  • Eliminar la imagen antigua de Docker al crear un nuevo contenedor
  • Exporta métricas Prometheus, Influx para el tablero Grafana
  • Puede desencadenar múltiples webhooks cuando se actualizan los contenedores. Admite discord, slack, pushover y webhooks genéricos
  • Puede enviar correos electrónicos cuando se actualizan los contenedores

Puedes visitar su wiki para ver todas todas sus características y ejemplos.

Ejemplo

En el siguiente ejemplo creo el contenedor Ouroboros para que él mismo se actualice(el contenedor se ha de llamar ouroboros u ouroboros-updated) y además elimina las viejas imágenes después de actualizar los contenedores

docker run -d --name ouroboros \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -e SELF_UPDATE=true \
 -e CLEANUP=true \
pyouroboros/ouroboros

Espero que te haya gustado, pasa un buen día… 🐧