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?
deployment
docker
docker-registry
PJ Bergeron
źródło
źródło
Odpowiedzi:
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 .
źródło
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
źródło
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
źródło