Container automatisch aktualisieren
Wer fleißig Container mit Docker bereitstellt, wird schnell feststellen, dass es sehr aufwendig ist, alle Container aktuell zu halten. Zum Glück gibt es Watchtower, das selbst als Container bereitgestellt wird und alle anderen Container aktuell hält. Indem der Docker Socket des Hosts an den Container weitergereicht wird, kann Watchtower andere Container überwachen, die Images auf Updates prüfen und diese dann einspielen.
Für eine minimale Installation kann folgende Docker Compose Konfiguration verwendet werden. Jeden Tag um 01:00 Uhr werden alle Containern geprüft und bei einem verfügbaren Update dieses heruntergeladen, der Container gelöscht und mit dem neuen Image gestartet. Zusätzlich werden alle alten Images gelöscht, um nicht Gefahr zu laufen, dass der Speicherplatz vollgemüllt wird.
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- "WATCHTOWER_SCHEDULE=0 0 1 * * *"
- TZ=Europe/Berlin
{{@48#bkmrk-Compose-Run}}
Nun werden alle Container automatisch überwacht. Wer zusätzliche Anforderungen hat wie z. B. Benachrichtigungen (per Mail) oder nur einige Container überwachen lassen möchte, kann in der Liste der Argumente in der offiziellen Dokumentation weitere Einstellungsoptionen finden: Watchtower Argumente