GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So aktualisieren Sie laufende Docker-Container automatisch

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
e85c923f2e4dd22a62c12b038ea9694ba9245dcd835f210e1a1f902ee311e004
Empfohlener 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!


Docker
  1. So verwenden Sie Docker Compose

  2. So verbinden Sie Docker-Container

  3. So halten Sie Docker-Container am Laufen, wenn der Daemon stoppt

  4. So führen Sie einen Befehl in einem laufenden Docker-Container aus

  5. So entfernen Sie alle Docker-Container

So führen Sie Docker-Container aus

So entfernen Sie Docker-Container

So stoppen Sie Docker-Container

So benennen oder umbenennen Sie Docker-Container

So verwalten Sie Docker-Container

So konfigurieren Sie Netzwerk-Namespaces in Docker-Containern