Watchtower: Docker container automatisiert aktualisieren
Verfasst: Sa 23. Sep 2023, 10:08
Hi @ all,
Watchtower ist ein Docker-Tool, das automatisch Container-Images in einem Docker-Host überwacht und aktualisiert. Es erkennt, wenn neue Versionen der zugrunde liegenden Docker-Images verfügbar sind, Lädt sie herunter und startet Container neu, um sicherzustellen, dass die neuesten Softwareupdates angewendet werden, ohne manuellen Eingriff. Dies erleichtert die Aktualisierung und Wartung von Docker-Anwendungen erheblich und trägt zur Sicherheit und Stabilität von Container-Umgebungen bei.
Seit 6 Monaten problemlos im produktiven Einsatz, wurden bereits 25 verschiedene Images erfolgreich aktualisiert.
Anbei das Docker-Compose Template
In meiner Umgebung war nur eine Anpassung am orginal Grafana Docker-Compose-Template erforderlich. Ich habe Grafana erlaubt, Charts per iFrame in Node Red einzubetten, indem ich die grafana.ini wie folgt angepasst habe:
Beim Aktualisieren von Grafana wurde die grafana.ini jedoch überschrieben, daher war es notwendig, diese außerhalb des Images zu speichern. Dies wurde dem orginal Docker-Compose-Template für Grafana hinzugefügt:
Dadurch wurde sichergestellt, dass die Datei grafana.ini außerhalb des Containers geladen wird.
Gruß
pekabo
Watchtower ist ein Docker-Tool, das automatisch Container-Images in einem Docker-Host überwacht und aktualisiert. Es erkennt, wenn neue Versionen der zugrunde liegenden Docker-Images verfügbar sind, Lädt sie herunter und startet Container neu, um sicherzustellen, dass die neuesten Softwareupdates angewendet werden, ohne manuellen Eingriff. Dies erleichtert die Aktualisierung und Wartung von Docker-Anwendungen erheblich und trägt zur Sicherheit und Stabilität von Container-Umgebungen bei.
Seit 6 Monaten problemlos im produktiven Einsatz, wurden bereits 25 verschiedene Images erfolgreich aktualisiert.
Anbei das Docker-Compose Template
Code: Alles auswählen
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
environment:
WATCHTOWER_SCHEDULE: "0 0 1 * * *"
TZ: "Europe/Berlin"
WATCHTOWER_NOTIFICATIONS: "email"
WATCHTOWER_NOTIFICATION_EMAIL_FROM: "Watchtower@domain.tld"
WATCHTOWER_NOTIFICATION_EMAIL_TO: "Name@domain.tld"
WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG: "Watchtower on ei23"
WATCHTOWER_NOTIFICATION_EMAIL_SERVER: "smtp.domain.tld"
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT: "587"
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: "smtp_user"
# Info: Wenn ein Container über Docker compose erstellt wird, muss dem $ Zeichen ein weiteres $ Zeichen vorausgehen, es wird somit escaped.
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: "DeinPasswort"
WATCHTOWER_NOTIFICATION_EMAIL_DELAY: 2
# Info: Die folgende Einstellung löscht images, die nicht mehr verwendet werden.
WATCHTOWER_CLEANUP: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Code: Alles auswählen
allow_embedding: true
cookie_samesite: none
Code: Alles auswählen
volumes:
- ./volumes/grafana/config/:/etc/grafana/
Gruß
pekabo