Watchtower und Alternativen: So halten Sie Docker-Container automatisch aktuell
Viele Werkzeuge ersetzen veraltete Docker-Images durch neuere. Wir stellen drei davon vor, vom simplen Update-Automaten bis zur GitOps-Pipeline.
(Bild: Martina Bruns / heise medien)
Das Aktualisieren von Docker-Containern unterscheidet sich in vielerlei Hinsicht von Updates, die man mit dem Paketmanager eines Betriebssystems einspielt. Der Befehl apt upgrade in Ubuntu ersetzt einzelne Dateien und startet möglicherweise Systemdienste neu. Ein Container ist jedoch eine Instanz eines unveränderlichen Images.
Es ist nicht empfehlenswert, das Innenleben des Images zu aktualisieren. Stattdessen stoppt man den bisherigen Container, baut einen neuen oder zieht ihn aus einer Registry und wirft dann den alten weg. Persistente Daten liegen auĂźerhalb des Containers und werden nach dem Neustart wieder hineingereicht. Nur deswegen funktioniert das Wegwerfprinzip.
- Watchtower war lange Zeit die erste Wahl fĂĽr automatisierte Updates von Container-Images. Weil das Projekt nicht mehr gepflegt wird, sollten Nutzer umsteigen.
- Das Projekt What's up Docker (WUD) hält Images ebenfalls aktuell, kommt aber besser mit Docker Compose klar und bringt eine Weboberfläche mit.
- Der Verbund aus Doco-CD und Renovate schafft eine Update-Pipeline fĂĽr Docker Compose, die einem GitOps-Ansatz nahekommt, wie man ihn von Kubernetes kennt.
Docker bringt selbst keine Werkzeuge mit, die den Image-Tausch erleichtern oder automatisieren. Bei der konkurrierenden Container-Engine Podman gibt es das Label io.containers.autoupdate=registry, das Updates mit einem systemd-Timer automatisiert.