Marvin Pascale

[B.Log]

15 Maggio 2021

Watchtower

Watchtower

I container ricoprono sempre di più un ruolo importante nella nostra era tecnologica ed è quindi cruciale tenerli sempre aggiornati.

Watchtower è un’applicazione che monitora i container (Docker) in esecuzione e le immagini di origine. Quando watchtower rileva che è presente una nuova versione dell’immagine Docker, riavvia automaticamente il container utilizzandola.

Strano ma vero anche watchtower è un container ed è quindi possibile avviarlo con un semplice comando:

# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

Sul sito ufficiale è disponibile tutta la documentazione. Le configurazioni possibili sono tante e io ho utilizzato l’integrazione con Slack.

# docker run -d \
  --name watchtower \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /etc/localtime:/etc/localtime:ro \
  -e WATCHTOWER_MONITOR_ONLY=true \
  -e WATCHTOWER_NOTIFICATIONS=slack \
  -e WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL="https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX" \
  -e WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=vps01 \
  containrrr/watchtower --schedule "0 0 4 * * *"

In questo caso watchtower verrà eseguito tutti i giorni alle 4:00 e si limiterà ad inviare una notifica in presenza di una nuova immagine.

Nel caso in cui volessimo lasciare l’aggioramento a watchtower basterà modificare la variabile _WATCHTOWER_MONITORONLY:

# docker run -d \
  --name watchtower \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /etc/localtime:/etc/localtime:ro \
  -e WATCHTOWER_MONITOR_ONLY=false \
  -e WATCHTOWER_NOTIFICATIONS=slack \
  -e WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL="https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX" \
  -e WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=vps01 \
  containrrr/watchtower --schedule "0 0 4 * * *"


Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.

Risorse: