Mit Watchtower können wir unsere Container Landschaft dauerhaft aktuell halten. Watchertower ist selber ein Container, überwacht allerdings seine Container Nachbarn auf verfügbare Updates. Ist ein Update verfügbar wird im normalen Modus der Container aktualisiert und ebenfalls Neugestartet. So ist wirklich jeder Container in der Umgebung stets auf dem neusten Stand der Dinge.

Aber natürlich gibt es auch Optionen, Einschränkungen und zeitliche Intervalle die beim Update helfen können. Kurzes Beispiel hierfür wäre, nur bestimmte Container darf Watchtower aktualisieren und das dann auch noch zu einer bestimmten Uhrzeit. Also ein interner Scheduler steuert nach belieben die Häufigkeit der Überprüfung.

Aber wie immer, keine lange Reden schwingen, schaut lieber ins Video, da sehen wir die Applikation in voller Aktion. Meine Beispielkonfiguration findet Ihr weiter unten im Beitrag.

Nur Überwachung Skript

Wie bereits oben erwähnt, ist ein automatisches Update zwar super schön, aber eben auch gefährlich. Deswegen zeige ich euch als erstes das Docker Watchtower nur zum Überwachen und eine Meldung absetzen. Das Label-Enable sagt das nur Container mit dem Label Enable Updated werden. Wenn kein Container das Label Enable hat, kann auch nix Updated werden, wird aber in den Logs vermeldet.

#Regelmäßig alle 6 Stunden und nur mit Label Enable!
docker run -it -d \
	--name WatchTower \
	-v /var/run/docker.sock:/var/run/docker.sock \
	-e WATCHTOWER_NOTIFICATIONS=gotify \
	-e WATCHTOWER_NOTIFICATION_GOTIFY_URL="http://192.168.10.7:5001" \
	-e WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN="ASlcSC1ofE.dmaG" \
	containrrr/watchtower \
	--label-enable \
	--interval 21600

Watchtower vorbereitete Skripte

#Zum einmal ausführen
docker run --rm \
	--name WatchTower \
	-v /var/run/docker.sock:/var/run/docker.sock \
	-e WATCHTOWER_NOTIFICATIONS=gotify \
	-e WATCHTOWER_NOTIFICATION_GOTIFY_URL="http://192.168.10.7:5001" \
	-e WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN="ASlcSC1ofE.dmaG" \
	containrrr/watchtower \
	--run-once \
	--cleanup \
	--include-restarting \
	--rolling-restart \
	--include-stopped
	
	
#Regelmäßig alle 6 Stunden
docker run -it -d \
	--name WatchTower \
	-v /var/run/docker.sock:/var/run/docker.sock \
	-e WATCHTOWER_NOTIFICATIONS=gotify \
	-e WATCHTOWER_NOTIFICATION_GOTIFY_URL="http://192.168.10.7:5001" \
	-e WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN="ASlcSC1ofE.dmaG" \
	containrrr/watchtower \
	--cleanup \
	--include-restarting \
	--rolling-restart \
	--include-stopped \
	--interval 21600