Docker nos aporta muchas ventajas en cuanto a actualizaciones, fácil y rápido.
Watchtower va un paso más allá, permitiendo actualizaciones automáticas en cuanto detecta una nueva imagen en el repositorio. Simplemente lanza el contenedor de Qatchtower con la configuración deseada y olvidate de estar pendiente de si hay nuevas actualizaciones para tus contenedores.
Vamos a ver como configurar nuestro contenedor de Watchtower y algunas de las configuraciones que le podemos poner.
Como he dicho Watchtower es una imagen docker por lo que primero vamos a crear nuestro docker-compose.yaml
nano docker-compose.yaml
version: "3" services: watchtower: container_name: watchtower image: containrrr/watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock command: --interval 86400 --cleanup restart: unless-stopped
Esta sería una configuración básica para watchtower, la parte importante es command
–interval 86400 -> le decimos que revise las actualizaciones cada 24 horas, tiempo en segundos que podeis modificarlo como querais.
–cleanup -> elimine la imagen antigua una vez ha arrancado el contenedor con la imagen nueva.
Se pueden ver más opciones en la wiki de watchtower pero estan serían las principales.
Ahora bien, Watchtower mirar todos los contenedores que tenemos funcionando, en el caso que solo queramos que nos actualice unos contenedores en concreto podemos pasarle los nombre en el parámetro commnad (no lo he sabido encontrar en la documentación pero funciona)
version: "3" services: watchtower: container_name: watchtower image: containrrr/watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock command: pihole jellyfin --interval 86400 --cleanup restart: unless-stopped
Aquí le digo que solo actualice los contenedores de Pi-Hole y Jellyfin, los nombres los podeis encontrar haciendo un docker ps o en Portainer.
Hasta aquí la puesto en funcionamiento de Watchtower, nada complicada.
Os dejo el vídeo donde vereis su funcionamiento.