watchtower

Letzte Änderung: 2020-01-21

Dieses Beispiel wurde am x86 und auf Raspi 4 erfolgreich erstellt.

Watchtower – Automatische Dockeraktualisierung

Im Terminal folgendes eingeben

docker pull containrrr/watchtower

Dann folgenden Befehl komplett kopieren und im Terminal einfügen

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower

Enter

Watchtower-Docker wurde gestartet und schaut jetzt aller 5 Minuten, ob Aktualisierungen der aktiven Dockerimages vorhanden sind und aktualisiert diese, wenn verfügbar.

Erweiterter Dockerbefehle

In diesem Beispiel werden nur die Docker wordpress und nextcloud aktualisiert:

docker run -d \
    --name watchtower \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    wordpress nextcloud

Hier werden alle Docker einmalig nach Updates durchsucht. Der Watchtower-Docker kickt sich anschließend selbst wieder raus.

docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --run-once \

Dieser vorherige Befehl wird Interessant, wenn man vielleicht nur einmal Täglich oder Wöchentlich etc. nach Updates der Docker suchen möchte. Da ich mit dem Schedule-Befehl kein Glück hatte, den Abstand der Update-Suche über 5 Minuten zu bringen, löste ich das Problem etwas anders. Folgenden Befehl in den „Geplanten Aufgaben“ eingeben und den Zeitpunkt der Ausführung wählen. Acht geben, dass der Watchtower-Docker nicht zufällig läuft. Diesen Docker (nicht das Image) bitte vorher erst stoppen und löschen (z.b. im Cockpit unter Container, rechts-obere Fensterhälfte) und dann den folgenden Befehl in den „Geplanten Aufgaben“ eintragen!

docker run --rm --name="watchtower-once" --volume /var/run/docker.sock:/var/run/docker.sock -d containrrr/watchtower --run-once

Oder, wenn man nur bestimmte Docker updaten möchte, wie im folgenden Beispiel, phpmyadmin, portainer, mariadb und nextcloud:

docker run --rm --name="watchtower-once" --volume /var/run/docker.sock:/var/run/docker.sock -d containrrr/watchtower --run-once phpmyadmin portainer mariadb nextcloud

Man kann auch zusätzlich unter „Geplante Aufgaben“ im OMV, eine neue Aufgabe, Zeitpunkt z.B. Wöchentlich, erstellen.

docker images -q --filter "dangling=true" | xargs -n1 -r docker rmi

Jetzt werden, im angegebenen Zeitraum, alle alten Docker gelöscht.

Quelle: https://hub.docker.com/r/containrrr/watchtower