Das Problem
Das Thema automatische Docker-Updates ist immer so eine Sache. Watchtowers eingebaute Zeitparameter sind zu unflexibel, wenn unterschiedliche Update-Intervalle benötigt werden. Die Lösung: Watchtower im --run-once-Modus via Cron aufrufen.
Lösung: Zeitgesteuerte Updates via Cron
Variante 1: Täglich um 03:00 Uhr mit Image-Cleanup
0 3 * * * /usr/bin/docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once && docker image prune --all -f >> /var/log/watchtower.log 2>&1
Variante 2: Mit Watchtower-Cleanup (empfohlen)
0 3 * * * /usr/bin/docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -e TZ=Europe/Vienna containrrr/watchtower --run-once --cleanup >> /var/log/watchtower.log 2>&1
Variante 3: Nur sonntags um 03:00 Uhr
0 3 * * SUN /usr/bin/docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -e TZ=Europe/Vienna containrrr/watchtower --run-once --cleanup >> /var/log/watchtower.log 2>&1
Wichtiger Hinweis
Achtung: docker image prune --all -f entfernt alle ungenutzten Images – auch solche, die bewusst für Rollback oder als Cache behalten wurden. Variante 2 mit --cleanup ist daher die empfohlene Methode, da Watchtower dabei nur die ersetzten Images entfernt.