Definere din multi-container-applikasjon med Docker-Compose.yml

Definere din multi-container-applikasjon med Docker-Compose.yml
Docker er en godt likt og mye brukt løsning for å bygge og distribuere prosjekter. Det gir viktige komponenter som containere, bilder, register og docker komponerer. Mer spesifikt er Docker Compose et sentralt element i Docker som for det meste brukes til å bygge og konfigurere multi-container-applikasjoner eller som består av flere tjenester. Den bruker også YAML-filen for å konfigurere Multi-Container-appen.

Denne oppskrivningen vil demonstrere hvordan du kan definere multi-container-applikasjoner med en "Docker-Compose.yml”Fil.

Hvordan definere flere containerapplikasjoner med “Docker-Compose.yml ”-fil?

Multi-container-applikasjoner består av flere tjenester, og hver tjeneste er pålagt å utføre i en egen beholder. Å definere multi-container-applikasjoner involverer dessuten tre grunnleggende trinn:

  • Trinn 1: Lag dockerfile
  • Trinn 2: Konfigurer tjenester i “Docker-Compose.yml”Fil
  • Trinn 3: Start containerne

Trinn 1: Lag dockerfile

Først, lag en DockerFile som også blir referert til som instruksjonsfilen som inneholder instruksjoner for å generere bildet for å containerisere applikasjonen. Lim inn følgende kode i "Dockerfile”For å utføre Golang -applikasjonen på webserveren:

Fra Golang
Workdir/go/src/app
Legg til Main.gå .
Run Go Build -o Webserver .
Utsett 8080
Cmd ["./Internett server"]

I koden ovenfor:

  • FRA”Kommando definerer basisbildet for en beholder.
  • Workdir”Kommando definerer arbeidskatalogen for beholderen.
  • LEGG TIL”Kommando legger til den spesifiserte filen til containerstien.
  • LØPE”Kommando utfører den spesifiserte kommandoen.
  • AVDEKKE”Brukes til å tildele eksponeringsporten til beholderen.
  • CMD”Angir inngangspunktet eller standardverdiene for beholderen. Her definerer “CMD”./Internett server”Kjørbart punkt:

Merk: Navnet på filen må være "Dockerfile”, Og ikke legg ikke ut noen utvidelse med filnavnet.

Trinn 2: Konfigurer tjenester i “Docker-Compose.yml ”-fil

I neste trinn kan du lage en "Docker-Compose.yml”Fil for å konfigurere applikasjonstjenestene for flere container. For eksempel har vi spesifisert følgende kode:

Versjon: "Alpine"
tjenester:
Web:
bygge: .
Container_name: Web-Container
privilegert: sant
Porter:
- "8080: 8080/TCP"
Golang:
Bilde: "Golang: Alpine"

I følge ovennevnte utdrag:

  • tjenester”Key definerer to tjenester:”Web”Og“Golang”.
  • "Web" -tjenesten bruker en bygging av dockerfile eller dockerfile som base.
  • Container_name”Angir beholderens navn som" Web "-tjenesten skal utføres.
  • privilegert”Brukes til å tildele vertsprivilegiene til beholderen.
  • havn”Definerer eksponeringsporten for en beholder.
  • Golang”Tjeneste bruker ganske enkelt“Golang: Alpine”Bilde som et basisbilde:

Trinn 3: Start containerne

Start nå tjenestene som er spesifisert i "Docker-Compose.yml”-Filen ved å bruke“Docker-Compose Up”Kommando:

> Docker -Compose Up -D

Fra utdataene nedenfor kan du se at to tjenester startes i forskjellige containere. Den første beholderen kjører “Web”Tjeneste for Golang -programmet. Den andre beholderen utfører "Golang" service:

For verifiseringen, naviger til den spesifiserte porten til den lokale verten:

Det kan observeres at vi med hell har definert multi-container-appen med "Docker-Compose.yml”Fil.

Konklusjon

For å konfigurere applikasjonen for flere containere, oppretter du først en enkel DockerFile -fil referert til som en instruksjonsfil. Konfigurer deretter applikasjonstjenestene til en "Docker-Compose.yml”Fil. Hver enkelt tjeneste vil utføre i en egen beholder. Etter det kan du skyte opp containerne ved hjelp av "Docker-Compose Up”Kommando. Denne oppskrivningen har vist hvordan du konfigurerer multi-container-applikasjonen med "Docker-Compose.yml”Fil.