Sådan implementeres et sundhedstjek med succes i Docker Compose

Sadan Implementeres Et Sundhedstjek Med Succes I Docker Compose



Sundhedstjekket i Docker er en måde at kontrollere sundheden for Docker-containere. Denne funktion var ikke tilgængelig i tidligere versioner af Docker. Sundhedstjekkommandoen bestemmer, om containeren fungerer og udfører applikationen. Nogle gange kan der i en container opstå dødvande, mens applikationen kører i containere. Der kan være en situation, hvor containeren er selvfjernet, men den containeriserede proces kører stadig i en uendelig løkke, eller nogle ressourcer fungerer ikke korrekt i containeren. For at holde styr på den slags situationer benyttes healthcheck-egenskaben.

Denne artikel vil illustrere metoden til implementering af et sundhedstjek i Docker compose.







Hvordan implementerer man et sundhedstjek i Docker Compose?

Sundhedstjekket i Docker compose bruges til at identificere containerens sundhedstilstand for at udføre tjenesten. For at implementere et sundhedstjek i Docker compose skal du gennemgå de anførte trin.



Trin 1: Lav Dockerfile



Først skal du oprette en Dockerfile for at containerisere din applikation. For eksempel har vi specificeret instruktionerne for at dokke ' index.html ' fil:





FRA nginx:nyeste
COPY index.html / usr / del / nginx / html / index.html
INDGANG [ 'nginx' , '-g' , 'dæmon slukket;' ]

Trin 2: Opret Compose-fil



Lav derefter en Yaml-fil med navnet ' docker-compose.yml ”. Denne fil bruges ofte til at konfigurere flere tjenester af applikationer i en container.

Her har vi brugt følgende instruktioner:

  • version ” bruges til at angive komponeringsfilversionen.
  • tjenester ” bruges til at konfigurere applikationstjenesterne i containeren.
  • web ” er en ansøgnings- eller projekttjeneste.
  • havne ”: nøgle tildeler containerens udsatte port:
version: '3'
tjenester:
web:
bygge:.
havne:
- 80 : 80

Trin 3: Tænd containeren

Tænd beholderen ved at bruge ' docker-compose up kommando:

docker-compose up

Naviger til containerens eksponeringsport, og kontroller, om containeren kører eller ej:

Trin 4: Implementer sundhedstjekket

I det næste trin skal du ændre ' docker-compose.yml ”-fil for at implementere sundhedstjekket i skrivebeholderen. Til dette formål skal du bruge følgende egenskaber:

  • sundhedstjek ” bruges til at implementere sundhedstjekket.
  • prøve ”-tasten bruges til at teste beholderen. Til dette formål har vi brugt ' krølle ” kommando for at få et svar eller signaler fra værten.
  • interval ” angiver varigheden eller intervallet, hvor sundhedstjekprocessen skal udføres.
  • tiden er gået ” definerer varigheden af ​​ventetiden på et sundhedstjek. I tilfælde af en fejl eller en usædvanlig tilstand, efter den angivne tid, vil den returnere udgangskoden.
  • forsøger igen ” bruges til at definere antallet af forsøg på at implementere sundhedstjekket efter fejl:
version: '3'
tjenester:
web:
bygge:.
havne:
- 80 : 80
sundhedstjek:
test: krølle --svigte http: // lokal vært || Afslut 1
interval: 30s
timeout: 10s
forsøg igen: 5

Trin 5: Start container

Start beholderne igen:

docker-compose up

Efter det definerede tidsinterval vil sundhedstjekprocessen blive implementeret og kontrollere containerens tilstand som fremhævet nedenfor:

Trin 6: Tjek helbredsstatus

For at kontrollere beholderens helbredstilstand skal du skrive en liste over kompositbeholderen. Her kan du se tilstanden af ​​vores kørende container:

docker-komponer ps -en

Outputtet indikerer, at vores beholder er i en sund tilstand:

Dette handler om at kontrollere helbredstilstanden for containeren i Docker compose.

Konklusion

For at implementere sundhedstjekket i Docker-compose skal du først oprette en ' docker-compose.yml ” fil og konfigurer applikationstjenesterne. Brug derefter ' sundhedstjek ” ejendom til at gennemføre sundhedstjekket. Denne egenskab bruger forskellige nøgler til at implementere sundhedstjekket, såsom ' interval ', ' tiden er gået ', ' forsøger igen ', og ' prøve ”. Denne artikel har illustreret metoden til at implementere sundhedstjekket i Docker compose.