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:
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:
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.