Jak pomyślnie zaimplementować kontrolę stanu w Docker Compose

Jak Pomyslnie Zaimplementowac Kontrole Stanu W Docker Compose



Healthcheck w Dockerze to sposób na sprawdzenie kondycji kontenerów Dockera. Ta funkcja nie była dostępna w poprzednich wersjach platformy Docker. Polecenie sprawdzania kondycji określa, czy kontener działa i czy aplikacja jest wykonywana. Czasami w kontenerze mogą wystąpić warunki zakleszczenia podczas uruchamiania aplikacji w kontenerach. Może zaistnieć sytuacja, w której kontener sam się usunie, ale konteneryzowany proces nadal działa w nieskończonej pętli lub niektóre zasoby nie działają poprawnie w kontenerze. Aby kontrolować tego rodzaju sytuacje, używana jest właściwość Healthcheck.

W tym artykule zilustrujemy metodę implementacji kontroli stanu w Docker Compose.







Jak zaimplementować kontrolę stanu w Docker Compose?

Healthcheck w Docker Compose służy do identyfikowania kondycji kontenera w celu wykonania usługi. Aby zaimplementować kontrolę stanu w Docker Compose, wykonaj wymienione kroki.



Krok 1: Utwórz plik Dockerfile



Najpierw utwórz plik Dockerfile do konteneryzacji aplikacji. Na przykład określiliśmy instrukcje dokowania „ indeks.html ' plik:





Z nginx: najnowszy
KOPIUJ index.html / usr / udział / nginx / HTML / indeks.html
PUNKT WEJŚCIA [ 'nginx' , '-G' , „demon wyłączony”; ]

Krok 2: Utwórz plik redagowania



Następnie utwórz plik Yaml o nazwie „ docker-compose.yml ”. Ten plik jest często używany do konfigurowania wielu usług aplikacji w kontenerze.

Tutaj skorzystaliśmy z następujących instrukcji:

  • wersja ” służy do określenia wersji pliku tworzenia.
  • usługi ” służy do konfigurowania usług aplikacji w kontenerze.
  • sieć ” to usługa aplikacji lub projektu.
  • porty ”: klucz przydziela odsłonięty port kontenera:
wersja: „3”
usługi:
sieć:
zbudować: .
porty:
- 80 : 80

Krok 3: Odpal kontener

Odpal kontener, używając „ tworzenie dokerów ' Komenda:

tworzenie dokerów

Przejdź do udostępniającego portu kontenera i sprawdź, czy kontener jest wykonywany, czy nie:

Krok 4: Zaimplementuj kontrolę stanu

W następnym kroku zmodyfikuj „ docker-compose.yml ”, aby zaimplementować kontrolę kondycji w kontenerze tworzenia. W tym celu wykorzystaj następujące właściwości:

  • Kontrola zdrowia ” służy do wdrożenia kontroli stanu.
  • test Klawisz ” służy do testowania pojemnika. W tym celu wykorzystaliśmy „ kędzior ”, aby uzyskać odpowiedź lub sygnały od hosta.
  • interwał ” określa czas trwania lub interwał, w którym będzie wykonywany proces sprawdzania stanu.
  • koniec czasu ” określa czas oczekiwania na kontrolę stanu. W przypadku błędu lub nietypowych warunków, po określonym czasie zwróci kod wyjścia.
  • ponownych prób ” służy do określenia liczby prób wdrożenia kontroli stanu po niepowodzeniu:
wersja: „3”
usługi:
sieć:
zbudować: .
porty:
- 80 : 80
Kontrola zdrowia:
próba: zwijanie --ponieść porażkę http: // Lokalny Gospodarz || Wyjście 1
przerwa: 30s
limit czasu: 10s
ponawia próbę: 5

Krok 5: Uruchom kontener

Ponownie uruchom kontenery:

tworzenie dokerów

Po tym zdefiniowanym przedziale czasu proces kontroli stanu zostanie wdrożony i sprawdzi stan kontenera, jak pokazano poniżej:

Krok 6: Sprawdź stan zdrowia

Aby sprawdzić stan zdrowia kontenera, wypisz kontener redagowania. Tutaj możesz zobaczyć stan naszego działającego kontenera:

komponowanie dokera ps -A

Dane wyjściowe wskazują, że nasz kontener jest w dobrym stanie:

Wszystko to polega na sprawdzeniu kondycji kontenera w Docker Compose.

Wniosek

Aby zaimplementować kontrolę kondycji w Docker-compose, najpierw utwórz „ docker-compose.yml ” i skonfiguruj usługi aplikacji. Następnie skorzystaj z opcji „ Kontrola zdrowia ” Właściwość, aby zaimplementować kontrolę kondycji. Ta właściwość używa różnych kluczy do implementacji kontroli stanu, takich jak „ interwał ”, „ koniec czasu ”, „ ponownych prób ', I ' test ”. W tym artykule zilustrowano metodę implementacji kontroli kondycji w Docker Compose.