Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wird das Bild im Docker automatisch aktualisiert?

Wird das Bild im Docker automatisch aktualisiert?

WBOY
WBOYOriginal
2022-06-22 16:23:495926Durchsuche

Das Image im Docker wird automatisch aktualisiert. Sie können das Watchtower-Tool verwenden, um das Image automatisch zu aktualisieren, wenn es einen Unterschied zwischen dem lokalen Image und dem Remote-Image gibt Image kann der aktuelle Container automatisch verwendet werden. Erstellen Sie einen neuen Container mit dem neuen Image neu und löschen Sie den alten Container.

Wird das Bild im Docker automatisch aktualisiert?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.

Automatische Aktualisierung des Docker-Images

Watchtower ist ein Tool, das überwachen kann, ob das laufende Container-Image aktualisiert wurde. Wenn ein Unterschied zwischen dem lokalen Image und dem Remote-Image besteht, kann es automatisch die laufenden Parameter des aktuellen Containers verwenden Erstellen Sie ein neues Image mit einem neuen Container und löschen Sie den alten Container.

Einige Bilder müssen bei Verwendung von Docker häufig aktualisiert werden. Normalerweise ist das manuelle Aktualisieren des Containers umständlich und erfordert vier Schritte:

1 Stoppen Sie den Container-Docker-Stopp

2 ;CONTAINER>

3. Überprüfen Sie den Image-Update-Status und aktualisieren Sie den Container-Docker-Lauf

Es ist besser, weniger Container zu haben wenn eine große Anzahl von Containern vorhanden ist Es muss aktualisiert werden, was zu einer enormen Arbeitsbelastung führt. Jetzt stelle ich Ihnen eine Möglichkeit vor, Container automatisch zu aktualisieren. Diese Methode ist auch auf Docker unter Synology anwendbar.

Watchtower überwacht laufende Container und überwacht, ob die Bilder beim ersten Start dieser Container aktualisiert werden müssen. Wenn Watchtower feststellt, dass sich ein Bild geändert hat, verwendet es das neue Bild und startet den entsprechenden Container automatisch mit denselben Parametern neu. Gleichzeitig ist Watchtower selbst auch als Docker-Image gepackt. Sie können Watchtower verwenden, um alle Container mit einer Befehlszeile zu überwachen. Anschließend werden alle Container, einschließlich Watchtower selbst, automatisch aktualisiert.

Schnellstart

Watchtower selbst ist als Docker-Image verpackt, sodass Sie es wie jeden anderen Container ausführen können. Verwenden Sie in anderen Docker-Umgebungen den Docker-Befehl, um das Image direkt herunterzuladen:

docker pull containrrr/watchtower

Docker in Qunhui kann direkt Gehen Sie zur Registrierungssuche und laden Sie Folgendes herunter:

Wird das Bild im Docker automatisch aktualisiert?Andere Docker-Ausführungsbefehle

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

Verwenden Sie den obigen Code, um den Watchtower-Container im Hintergrund zu starten und die Aktualisierungen aller aktuellen Bilder zu überwachen. Da Watchtower mit der Docker-API interagieren muss, um laufende Container zu überwachen, müssen Sie den Parameter -v hinzufügen, wenn Sie damit /var/run/docker.sock dem Container zuordnen.

Verwenden Sie die geplante Aufgabe von Synology, um Watchtower in Synology auszuführen.

Wird das Bild im Docker automatisch aktualisiert?Öffnen Sie den Synology-Aufgabenplan, erstellen Sie eine neue geplante Aufgabe – ein benutzerdefiniertes Skript, füllen Sie das folgende Skript aus, führen Sie es einmal aus, aktualisieren Sie alle Container und löschen Sie alte Container

docker run -d --name watchtower -v  /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once

kann so eingestellt werden, dass es bei geplanten Aufgaben automatisch oder bei Bedarf manuell ausgeführt wird. Alle Container werden dann automatisch aktualisiert, einschließlich des Wachtturms selbst.

Optionsparameter

Standardmäßig überwacht Watchtower alle Container, die innerhalb des Docker-Daemons ausgeführt werden, auf den er verweist. Sie können aber auch den Namen eines bestimmten Containers angeben, wenn Sie Watchtower starten, um nur diese bestimmten Container zu überwachen. Zum Beispiel:

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once nginx redis

Derzeit überwacht Watchtower nur Container mit den Namen „nginx“ und „redis“, alle anderen laufenden Container werden ignoriert. Wenn Sie Watchtower nicht im Hintergrund ausführen möchten, können Sie den Parameter --run-once hinzufügen und der Watchtower-Container wird im Vordergrund ausgeführt.

Verwenden Sie den Parameter --cleanup, um das alte Image nach dem Update automatisch zu löschen.

Mit --monitor-only überwachen Sie nur das neue Image und senden Benachrichtigungen. Der Container wird nicht aktualisiert.

Verwenden Sie --interval, um das Update festzulegen Erkennungsintervall, Einheit ist Sekunden. Um beispielsweise stündlich nach Updates zu suchen, ist es --interval 3600

Für spezifischere Verwendungsmethoden können Sie die offizielle Dokumentation von Watchtower überprüfen. Hier sind nur zwei häufig verwendete Methoden aufgeführt. Da Synology automatisch geplante Aufgaben verwenden kann, müssen Sie den Parameter --interval nicht verwenden.

Empfohlenes Lernen: „

Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWird das Bild im Docker automatisch aktualisiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn