Docker: automatische Container-Updates

Wie bringe ich eine Watchtower-Instanz dazu, Updates für Docker-Container nur spätnachts einzuspielen, um so die Ausfallzeiten zu minimieren?

vorlesen Druckansicht
Lesezeit: 1 Min.

Ich nutze Docker-Container für verschiedene Dienste in unserem Netz, unter anderem für einen Nextcloud-Server mit OnlyOffice und die Heimautomation mit Node-Red. Eine Watchtower-Instanz prüft die Container in einem regelmäßigen Intervall – bei mir alle sechs Stunden – auf Updates und spielt die bei Bedarf ein. Manchmal passiert das aber zur Unzeit, weil es mit einem kurzen Dienstausfall einhergeht. Wie bringt man Watchtower dazu, Updates nur tief in der Nacht zu machen?

Watchtower hat dafür den Startparameter -s alias --schedule bekommen, an den Sie den gewünschten Zeitpunkt als Cron-Ausdruck mit sechs Parametern statt der traditionellen fünf anhängen. Um beispielsweise täglich um 4:23 Uhr auf Updates zu prüfen, stoppen und entfernen Sie den Watchtower-Container:

docker stop <containername>
docker rm <containername>

Dann setzen Sie ihn mit dem neuen Parameter wieder auf, beispielsweise wie folgt:

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -s "0 23 4 * * *" -v /etc/localtime:/etc/localtime:ro

Der Stern steht fĂĽr beliebige Zeitpunkte, in diesem Beispiel an jedem Tag in jedem Monat an allen Wochentagen. Mit dem letzten Parameter ĂĽbernimmt Watchtower die auf dem Docker-Host konfigurierte Zeitzone, damit die Updates zum korrekten lokalen Zeitpunkt geschehen. Falls Sie Ihr Konto nicht zur Gruppe der Docker-Admins hinzugefĂĽgt haben, stellen Sie ein sudo vor die Docker-Aufrufe. (ea)