Watchtower ist ein Docker-Tool, das automatisch Docker-Container überwacht und aktualisiert, wenn neue Versionen ihrer Images verfügbar sind. Hier sind die wichtigsten Funktionen von Watchtower:
1. Automatische Aktualisierung: Watchtower überwacht die Docker-Images Ihrer laufenden Container und sucht regelmäßig nach Updates. Wenn eine neue Version des Images verfügbar ist, zieht Watchtower automatisch das neueste Image herunter und startet den Container neu, um die Aktualisierung anzuwenden.
2. Einfache Konfiguration: Watchtower kann einfach durch das Hinzufügen eines Containers zu Ihrer Docker-Compose-Konfiguration oder durch direkte Verwendung des Docker-Befehls aktiviert werden. Die Konfiguration ermöglicht es Ihnen, das Aktualisierungsintervall anzupassen und spezifische Container auszuschließen, wenn gewünscht.
3. Unterstützung für mehrere Quellen: Watchtower kann Images von verschiedenen Quellen aktualisieren, einschließlich öffentlicher und privater Docker-Registries sowie benutzerdefinierter Image-URLs.
5. Protokollierung und Benachrichtigungen: Watchtower erstellt Protokolle über durchgeführte Aktualisierungen und bietet die Möglichkeit, Benachrichtigungen zu konfigurieren, um Sie über Aktualisierungen zu informieren.
Insgesamt erleichtert Watchtower die Verwaltung und Aktualisierung von Docker-Containern, indem es den manuellen Prozess der Überwachung von Updates und deren Anwendung automatisiert.
## Voraussetzungen
Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind.
Erstellen Sie eine `docker-compose.yml`-Datei in Ihrem Projektverzeichnis. Hier ist ein einfaches Beispiel:
```yaml
~~~
version: "3"
services:
watchtower:
image: containrrr/watchtower
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
environment:
- WATCHTOWER_NOTIFICATIONS_LEVEL=info # Klassifizierung, die für die Benachrichtigungen verwendet wird. Mögliche Werte sind: panic, fatal, error, warn, info, debug oder trace.
- "com.centurylinklabs.watchtower.enable=true" # Hiermit wird dieser Service explizit automatisiert aktualisiert.
networks:
dns:
ipv4_address: 172.28.0.10
networks:
dns:
name: dns
external: true
```
### 2. Watchtower konfigurieren
In der obenstehenden `docker-compose.yml` wird Watchtower konfiguriert, um alle 30 Sekunden nach Aktualisierungen zu suchen. Sie können das Intervall nach Bedarf anpassen.
### 3. Docker Compose ausführen
Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um Docker Compose zu starten:
```bash
docker-compose up -d
```
### 4. Überwachen Sie die Aktualisierungen
Watchtower wird nun automatisch nach Updates für Ihre Docker-Container suchen und diese aktualisieren. Sie können die Protokolle überwachen, um den Fortschritt zu überprüfen:
```bash
docker logs -f <container_name>
```
Ersetzen Sie `<container_name>` durch den Namen Ihres Watchtower-Containers.
### Hinweis
Stellen Sie sicher, dass Ihre Container mit einem `latest`-Tag oder einer bestimmten Version getaggt sind, damit Watchtower weiß, welche Version heruntergeladen werden soll.