MàJ auto de containers Docker : Watchtower

Docker 20 sept. 2021

Je l’utilise et en parle depuis des années mais j’ai oublié de le présenter ^^


Watchtower est un outil, format Docker, qui permet de maintenir à jour ses containers Docker. Automatiquement, chez moi tous les jours à 4h du matin, Watchtower va mettre à jour tous les containers que je lui demande de surveiller (si MàJ il y a évidemment). Il coupe le Docker, installe le nouveau, le relance et efface l’ancienne image. Avec un email récapitulatif.

docker run -d \
--name watchtower \
-e TZ=Europe/Paris \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_NOTIFICATIONS=email \
-e [email protected] \
-e [email protected] \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.mail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \
-e [email protected] \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=abcd1234 \
-e WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 \
-e WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG=NUC2 \
--label=com.centurylinklabs.watchtower.enable=true \
containrrr/watchtower --label-enable --cleanup --rolling-restart --schedule "0 0 4 * * *"

Configurez les notifications par email (ou pas). Avec un email d’expédition, son serveur SMTP + user/pwd et un email de destination.
Le SUBJETTAG, comme son nom l’indique, est le titre de l’email. Ici “NUC2”. Pratique pour différencier les rapports selon vos serveurs/machines.
On le lance avec des options :
– – label-enable : ne MàJ que les containers surveillés. Donc ceux lancés avec le label com.centurylinklabs.watchtower.enable=true
– – cleanup : supprimer l’ancienne image
– – rolling-restart : relancer le container MàJ sans attendre
– – schedule : un simple CRON qui lui indique quand tourner

Et on reçoit un rapport par email s’il y a eu effectivement eu des MàJ

Found new bitnami/wordpress:latest image (c7ba4b791894)
Stopping /bloguacwp (dea77d022ed9) with SIGTERM
Creating /bloguacwp
Removing image 4be793693beb

Mots clés