Blog del Podcast
podcast      GitHub      Twitter   Telegram

Actualización automática de tus dockers con Watchtower o Ouroboros

Tiempo estimado de lectura: 4 minutos. 507 palabras. docker

Watchtower

Watchtower es una aplicación desarrollada en Go, que controlará tus contenedores Docker en funcionamiento y observará los cambios en las imágenes a partir de los cuales se iniciaron originalmente esos contenedores. Si la Watchtower detecta que una imagen ha cambiado, se reiniciará automáticamente el contenedor utilizando la nueva imagen.

Watchtower desplegará su nueva imagen, parará su contenedor y lo reiniciará con las mismas opciones que se usaron cuando se implementó inicialmente.

En tu servidor con amd64


docker run -d --name watchtower --cleanup -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower

La opción –cleanup, permite borrar las imagenes antiguas.

Tu Raspberry Pi o placa con arquitectura ARM

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower:armhf-latest

Ouroboros

Desarrollada en python, Ouroboros hace lo mismo que Watchtower, pero además, elimina las imagenes antiguas.

Del mismo modo que Watchtower, Ouroboros utiliza la API de docker mediante el socket local.

docker cli

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

docker-compose

version: '3'
services:
  ouroboros:
    container_name: ouroboros
    hostname: ouroboros
    image: pyouroboros/ouroboros
    environment:
      - CLEANUP=true
      - INTERVAL=300
      - LOG_LEVEL=info
      - SELF_UPDATE=true
      - IGNORE=mariadb nextcloud
      - TZ=Europe/Madrid
      - NOTIFIERS="tgram://1124343468:AAGEqergUoBECxytKKWIqVvzTdrqwegqerg/588554/" \
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Os inico algunas de las muchismas opciones que tiene y he visto en el Blog de Lazaro

  1. Notificaciones de Telegram

    Para que ouroboros te notifique por Telegram de los contenedores que se actualizan, añadiremos la siguiente variable añadiendo el TOKEN del bot y el ID del chat que recibirá la notificación.

    NOTIFIERS="tgram://TU_API_TOKEN/TU_CHAT_ID/"
    

    Para ello Ouroboros ha añadido el código de servicio de notificaciones Apprise.

  2. Ignorar actulizaciones de docker

    Si no queremos que ouroboros actualice alguno de los contendores que tenemos corriendo, añadiremos la variable IGNORE.

    En este ejemplo no quiero que se actualice nextcloud mariadb mumble.

    IGNORE="nextcloud mariadb mumble"
    

Fuente


Publicado por Angel el Friday 26 July del 2019 y actualizado el Monday 11 October del 2021



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.