Aktualisieren Sie Docker-Container automatisch mithilfe von Webhooks


10

Ich habe ein Github-Repo und ein Docker-Repo erstellt. Beide arbeiten sehr gut zusammen: Wenn ich eine neue Version von Dockerfile an Github übertrage, wird automatisch ein neues Image im Docker-Repo erstellt.

Jetzt möchte ich, dass meine laufenden Container automatisch aktualisiert werden, wenn das Basis-Image (neu) erstellt wird.

Wie kann ich dies mit Docker-Repos-Webhooks erreichen?


1
Wenn es einen "einfachen" (so einfachen) Weg gibt, dasselbe zu erreichen, ohne Webhooks zu verwenden, bin ich auch interessiert. :)
PJ Bergeron

Antworten:


3

Das Team von Century Link Labs hat zwei neue Open Source-Tools entwickelt, mit denen Web-Hooks zum Aktualisieren laufender Container verwendet werden können.

Ihre erste App ist Zodiac , die ein "Push" -Bereitstellungsmodell verwendet. Es ist ein leichtes Tool, das auf Docker Compose basiert und die einfache Bereitstellung und das Rollback von Docker-Anwendungen ermöglicht. Es wird ein Verlauf aller Bereitstellungen verwaltet, mit dem Sie auch ein Rollback auf eine frühere Bereitstellung durchführen können.

Ihre 2. App Wachtturm verwendet ein "Pull" -Bereitstellungsmodell. Mit diesem Modell können Docker-Container, die sich hinter einer Firewall befinden, Änderungen erkennen und sicherer abrufen, ohne einen externen Port freizulegen.

Der Wachtturm weiß, wie eine Reihe verknüpfter Container ordnungsgemäß neu gestartet wird. Wenn für eine der Abhängigkeiten in einer Gruppe verknüpfter Container eine Aktualisierung festgestellt wird, stoppt und startet Watchtower alle Container in der richtigen Reihenfolge, damit die Anwendung wieder ordnungsgemäß gestartet wird.

Ich bin nicht mit Century Link Labs verbunden.

Eine andere einfachere App, die Sie sich ansehen möchten, ist Docker Puller .


Vielleicht möchten Sie sich auch diese Diskussion über das Anwenden von Sicherheitsupdates von
Basisimages

Einige dieser Links sind jetzt defekt, aber GitHub-Projekte bleiben bestehen
Tony O'Hagan

0

Es gibt auch einen neueren Docker-Image-Puller

Es ist direkt mit dem Docker-Socket verbunden und aktualisiert mithilfe der Docker-API Ihre laufenden Container, die das im Webhook angegebene Image verwenden. Es ist ziemlich einfach, vielleicht können in Zukunft weitere Optionen hinzugefügt werden


-1

Ich habe das gefunden, aber ich habe es noch nicht versucht:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf Dies ist ein Artikel über die Verwendung von Webhook zum Bereitstellen von Containern mit Docker-Hub.

Grundsätzlich heißt es, dass Sie eine Art Tool verwenden können (siehe Link unten), um Webhook auf Ihrem Docker "Computer" zu handhaben. https://github.com/iaincollins/docker-deploy-webhook


Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert.
Michael Hampton

@ MichaelHampton Ich denke, meine Antwort wäre hilfreich, ich habe mehr Beschreibung hinzugefügt.
Emj365
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.