Wachturm ist eine kostenlose Open-Source-Anwendung, mit der Sie die laufenden Docker-Container überwachen und automatisch aktualisieren können, wenn Änderungen in ihren Basis-Images festgestellt werden. Wenn Watchtower feststellt, dass ein laufender Container aktualisiert werden muss, stoppt es den laufenden Container ordnungsgemäß, indem es ihm ein SIGTERM-Signal sendet. Anschließend wird das neue Image heruntergeladen und der Container schließlich mit denselben Optionen neu gestartet, die bei der ursprünglichen Bereitstellung verwendet wurden. Alles wird automatisch im Hintergrund ausgeführt, sodass kein Benutzereingriff erforderlich ist. In diesem Leitfaden werden wir sehen, wie laufende Docker-Container mit Watchtower in Unix-ähnlichen Betriebssystemen automatisch aktualisiert werden.
Ich habe diese Anleitung in der CentOS 7 Minimal Edition getestet, das Verfahren ist jedoch für alle Linux-Distributionen gleich.
Watchtower - Laufende Docker-Container automatisch aktualisieren
Wachturm installieren
Watchtower selbst ist als Docker-Image verfügbar. Die Bereitstellung ist also keine große Sache. Installieren Sie Docker auf Ihrem Linux-Rechner und starten Sie Watchtower, um die Docker-Container im Handumdrehen zu überwachen.
Lesen Sie die folgenden Anleitungen, um Docker auf YUM-basierten und DEB-basierten Systemen zu installieren.
- So installieren Sie Docker in CentOS
- So installieren Sie Docker in Ubuntu
Sobald Docker installiert ist, können Sie den Watchtower-Container mit dem folgenden Befehl als root bereitstellen Benutzer:
# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower
Dieser Befehl zieht das neueste Image von Watchtower und startet den Watchtower-Container.
Beispielausgabe:
Unable to find image 'v2tec/watchtower:latest' locally latest: Pulling from v2tec/watchtower a3ed95caeb02: Pull complete 802d894958a2: Pull complete 9916c27d2815: Pull complete Digest: sha256:d89ea18b6332cc83639771fda274ebfd76f7042856d8f4997e99c7925ad02ae9 Status: Downloaded newer image for v2tec/watchtower:latest e85c923f2e4dd22a62c12b038ea9694ba9245dcd835f210e1a1f902ee311e004Empfohlener Download - Kostenloses eBook:„Docker Containerization Cookbook“
Nutzung
Watchtower wurde jetzt mit anderen laufenden Containern auf Ihrem System gestartet. Sie können die Liste der laufenden Docker-Container mit dem folgenden Befehl anzeigen:
# docker ps
Beispielausgabe:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e85c923f2e4d v2tec/watchtower "/watchtower" 3 minutes ago Up 3 minutes watchtower 58543e6ed18a centos:latest "/bin/bash" 5 minutes ago Up 5 minutes ostechnix
Wie Sie in der obigen Ausgabe sehen, wird der Watchtower-Container zusammen mit einem anderen Container namens „ostechnix“ ausgeführt. Von nun an wird Watchtower diesen Container alle paar Minuten überwachen. Wenn es Änderungen im Basis-Image dieses Containers findet, wird der Container "ostechnix" ordnungsgemäß heruntergefahren und mit einem neuen Image mit denselben Optionen neu gestartet, die beim ursprünglichen Start verwendet wurden. Ebenso sucht es automatisch alle paar Minuten nach Updates für alle laufenden Container und aktualisiert diese automatisch.
Standardmäßig überwacht Watchtower alle Docker-Container, die innerhalb des Docker-Daemons ausgeführt werden, auf den es verweist. Sie können Watchtower jedoch auf die Überwachung eines bestimmten Docker-Containers beschränken, indem Sie den Namen des Containers wie unten gezeigt angeben.
# docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower ostechnix
Im obigen Beispiel überwacht watchtower nur den Container mit dem Namen „ostechnix“ auf Aktualisierungen und andere laufende Container werden ignoriert. Wenn Sie keine Argumente angeben, überwacht watchtower wie gewohnt alle laufenden Docker-Container.
Empfohlene Lektüre:
- Erste Schritte mit Docker
- ctop – Ein Befehlszeilen-Überwachungstool für Linux-Container
- Dockly - Docker-Container vom Terminal aus verwalten
- Portainer – Eine einfachste Art, Docker zu verwalten
- PiCluster - Eine einfache, webbasierte Docker-Verwaltungsanwendung
Watchtower ist schlau genug, wenn es darum geht, mehrere verknüpfte Container zu überwachen. Nehmen wir an, Sie führen zwei Container mit den Namen „Nginx“ und „Wordpress“ aus, die mit dem „Nginx“-Container verknüpft sind. Wenn Watchtower ein Update für den „Nginx“-Container findet, fährt es zuerst den verknüpften Container, d. h. „wordpress“, herunter und stoppt dann den Nginx-Container. Anschließend werden beide Container in der richtigen Reihenfolge neu gestartet, sodass die Anwendung wieder ordnungsgemäß gestartet wird. In unserem Fall wird zuerst der Nginx-Container gestartet, gefolgt vom WordPress-Container, um sicherzustellen, dass der Link weiterhin funktioniert. Weitere Einzelheiten finden Sie unter dem Link zur Wachtturm-GitHub-Seite am Ende dieses Leitfadens.
Und das ist alles. Wenn Sie unsere Leitfäden nützlich finden, teilen Sie sie bitte in Ihren sozialen, beruflichen Netzwerken und unterstützen Sie OSTechNix. Weitere gute Sachen folgen. Bleiben Sie dran!
Prost!