Automatycznie aktualizuj kontenery Docker za pomocą haków internetowych

10

Utworzyłem repozytorium Github i repozytorium Docker. Oba działają bardzo dobrze: kiedy przesyłam nową wersję Dockerfile do Github, nowy obraz jest automatycznie budowany w repozytorium Docker.

Teraz chciałbym, aby moje działające kontenery były automatycznie aktualizowane, gdy obraz podstawowy zostanie (ponownie) zbudowany.

Jak mogę to osiągnąć za pomocą haków internetowych repozytoriów Docker?

PJ Bergeron
źródło
1
Jeśli istnieje „łatwy” (tak łatwy) sposób, aby osiągnąć to samo bez korzystania z haków internetowych, jestem również zainteresowany. :)
PJ Bergeron,

Odpowiedzi:

3

Zespół Century Link Labs opracował 2 nowe narzędzia o otwartym kodzie źródłowym, które mogą wykorzystywać zaczepy sieciowe do aktualizacji działających kontenerów.

Ich pierwszą aplikacją jest Zodiac, który wykorzystuje model wdrażania „push”. Jest to lekkie narzędzie zbudowane na Docker Compose , dla łatwego wdrażania i przywracania dokowanych aplikacji. Przechowuje historię wszystkich wdrożeń, co pozwala również na przywrócenie poprzedniego wdrożenia.

Ich druga aplikacja Strażnica wykorzystuje model wdrażania „pull”. Ten model umożliwia kontenerom Docker znajdującym się za zaporą firewall wykrywanie i bezpieczniejsze pobieranie zmian bez ujawniania zewnętrznego portu.

Strażnica wie, jak poprawnie ponownie uruchomić zestaw połączonych kontenerów. Jeśli zostanie wykryta aktualizacja dla jednej z zależności w grupie połączonych kontenerów, Strażnica zatrzyma się i uruchomi wszystkie kontenery w prawidłowej kolejności, aby aplikacja wróciła poprawnie.

Nie mam powiązań z Century Link Labs.

Kolejną prostszą aplikacją, na którą warto spojrzeć, jest Docker Puller .

Tony O'Hagan
źródło
Możesz także przyjrzeć się tej dyskusji na temat stosowania aktualizacji zabezpieczeń z obrazów podstawowych
Tony O'Hagan
Niektóre z tych linków są teraz zepsute, ale projekty GitHub pozostają
Tony O'Hagan
0

Istnieje również nowsza wersja ściągacza obrazów dokerów

Jest podłączony bezpośrednio do gniazda Dockera i korzysta z interfejsu API Docker, aby zaktualizować działające kontenery, które używają obrazu określonego w haku sieciowym. To dość proste, może w przyszłości można dodać więcej opcji

Tuxity
źródło
-1

Znalazłem to, ale jeszcze nie próbowałem:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf To jest artykuł o użyciu elementu Webhook do wdrażania kontenera z hubem dokera.

Zasadniczo mówi, że możesz użyć pewnego rodzaju narzędzia (sprawdź poniższy link), aby obsłużyć hak sieciowy na „maszynie” dokera. https://github.com/iaincollins/docker-deploy-webhook

emj365
źródło
Chociaż ten link może odpowiedzieć na pytanie, lepiej dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
Michael Hampton,
@MichaelHampton Myślę, że moja odpowiedź byłaby pomocna, dodałam więcej opisu.
emj365