Docker vereinfacht den Betrieb von Anwendungen enorm – doch die Container müssen aktuell bleiben, um Sicherheitslücken zu vermeiden. Genau hier hilft Watchtower: Ein leichtes Tool, das automatisch Updates für laufende Docker-Container durchführt. In diesem Tutorial zeigen wir, wie du Watchtower auf einem Ubuntu Server installierst und einrichtest.
1. Voraussetzungen
- Ubuntu Server (22.04 oder neuer)
- Docker und Docker Compose installiert
- Grundkenntnisse im Umgang mit der Shell
Falls Docker noch nicht installiert ist, kannst du es mit folgendem Befehl nachholen:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER
2. Watchtower installieren
Watchtower selbst läuft als Docker-Container. Er überwacht andere Container und führt Updates automatisch durch.
Erstelle zunächst einen Ordner für die Konfiguration:
mkdir ~/watchtower && cd ~/watchtower
Erstelle dann die docker-compose.yml-Datei:
version: '3'
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_REMOVE_VOLUMES=false
- WATCHTOWER_POLL_INTERVAL=86400
restart: unless-stopped
Erläuterung:
WATCHTOWER_CLEANUP=true: Alte Container werden nach dem Update gelöscht.WATCHTOWER_POLL_INTERVAL=86400: Watchtower prüft alle 24 Stunden auf Updates.
Starte Watchtower mit:
docker-compose up -d
3. Manuelle Update-Prüfung starten
Wenn du sofort ein Update erzwingen willst:
docker exec watchtower --run-once
Damit prüft Watchtower direkt alle Container und führt nötige Updates aus.
4. Bestimmte Container ausschließen
Wenn du manche Container nicht automatisch aktualisieren willst, kannst du sie beim Start mit einem Label versehen:
services:
myapp:
image: myimage:latest
labels:
- "com.centurylinklabs.watchtower.enable=false"
Watchtower ignoriert Container mit diesem Label.
5. Benachrichtigungen einrichten (optional)
Watchtower unterstützt E-Mail, Slack, Discord und andere Dienste für Benachrichtigungen.
Ein Beispiel für Slack:
environment: - WATCHTOWER_NOTIFICATIONS=slack - WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=https://hooks.slack.com/services/DEIN/SLACK/WEBHOOK - WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower
So bekommst du eine Nachricht, sobald ein Update durchgeführt wurde.
6. Updates planen
Wenn du die Kontrolle behalten willst, kannst du statt eines festen Intervalls auch eine Cron-ähnliche Zeitsteuerung verwenden:
environment: - WATCHTOWER_SCHEDULE=0 0 3 * * *
Das führt Updates täglich um 03:00 Uhr morgens aus.
7. Fazit
Mit Watchtower hältst du deine Docker-Container automatisch aktuell, ohne manuell eingreifen zu müssen.
Das spart Zeit, reduziert Sicherheitsrisiken und sorgt für ein stabiles System.
Ob auf einem kleinen Heimserver oder im produktiven Umfeld – Watchtower ist ein unverzichtbares Tool für jeden, der viele Container betreibt.
Tipp:
Wenn du Watchtower mit anderen Tools wie Portainer oder Traefik kombinierst, erhältst du eine rundum automatisierte und übersichtliche Container-Umgebung.