Docker Run vs Docker-Compose

Docker Run vs Docker-Compose
Docker er en kjent, åpen kildekode og universelt brukt plattform. Det gir mange kommandolinjeverktøy og komponenter for å bygge, kjøre og distribuere applikasjoner som "Docker Run”Og“Docker-Compose”Kommandoer. Begge kommandoene brukes til å opprette og starte containerne for å containere applikasjonene og andre mikroservices.

Denne oppskrivningen vil demonstrere:

  • Forskjell mellom “Docker-Run” og “Docker-Compose” i Docker
  • Hvordan bruke “Docker Run” i Docker?
  • Hvordan bruke “Docker-Compose” i Docker?

Forskjell mellom “Docker Run” og “Docker-Compose” i Docker

Både "Docker Run”Og“Docker-Compose”Kommandoer brukes til et lignende formål å bygge og skyte opp containerne for å containere applikasjonen eller tjenestene. Den primære forskjellen mellom disse to kommandoene er “Docker Run” -kommandoen utfører bildet for å lage en enkelt beholder, og det er en rent terminalbasert kommando. Mens “Docker-Compose” -kommandoen leser instruksjoner fra “Docker-Compose.yml ”-fil og brukes til å administrere og kjøre multi-container applikasjoner. Med andre ord, det kan opprette og utføre mer enn en beholder om gangen.

Hvordan bruke “Docker Run” i Docker?

Docker “løpe”Kommando kan generere bare en enkelt beholder på en gang. Se på instruksjonene for å bruke Docker Run Container for å dockerisere en applikasjon.

Trinn 1: Lag DockerFile
Først må du lage en enkel DockerFile som inneholder enkle instruksjoner for å dockerisere applikasjonen. For eksempel har vi opprettet "Main1.Dockerfile”For å containere“Main1.gå”Golang Code:

Fra Golang: 1.8
Workdir/go/src/app
Kopier Main1.gå .
Run Go Build -o Webserver .
INNGANGSPUNKT ["./Internett server"]

Trinn 2: Lag et bilde
Generere et nytt bilde ved å bruke dockerfilen. Her, “-t”Angir bildenavnet, og“-f”Brukes til å definere DockerFile -navnet eller banen:

docker build -t go -image -f main1.Dockerfile .

Trinn 3: Opprett og start container
Neste, bruk "Docker Run”Kommando for å containere applikasjonen ved hjelp av Docker -bildet. “-d”Flagg vil utføre beholderen i løsrevet modus, og“-p”Spesifiserer den lokale vertsporten for å eksponere beholderen:

Docker Run -D -P 8080: 8080 Go -Image

Liste opp alle containerne for å sjekke om beholderen er opprettet og utføres når du utsetter port eller ikke:

Docker PS -A

Alternativt kan du besøke den tildelte porten til den lokale verten for å sjekke om beholderen kjører eller ikke:

Hvordan bruke “Docker-Compose” i Docker?

Docker Compose er en kjernedel av Docker -løsningen som brukes til å betjene og administrere multi containere prosjekter og tjenester. “Docker-Compose”Kommando leser instruksjonene fra komponeringsfilen. Start deretter tjenestene ved å bygge og utføre containerne.

Å bruke “Docker-Compose”I Docker, gå gjennom den gitte prosedyren.

Trinn 1: Lag “Docker-Compose.yml ”-fil
Først må du lage en fil som heter “Docker-Compose.yml”Fil og konfigurere tjenestene som kreves for å utføre. For eksempel har vi konfigurert følgende konfigurasjoner:

  • tjenester”Konfigurerer to forskjellige tjenester,”Web”Og“Web2”.
  • "Web" -tjenesten bruker "hoved-.Dockerfile”For å containere og kjøre“hoved-.gå" program.
  • "Web2" -tjenesten bruker "Main1.Dockerfile”For å dockerisere og utføre“Main1.gå" program.
  • Porter”Nøkkel brukes til å spesifisere eksponeringsporten for beholderen. I vårt scenario vil Docker automatisk tilordne eksponeringsporten for "Web" -tjenesten, og "Web2" -tjenesten vil eksponere på port 8080:
Versjon: "Alpine"
tjenester:
Web:
bygge:
Dockerfile: Main.Dockerfile
Kommando: ["./Internett server"]
Porter:
- 8080
Web2:
bygge:
Dockerfile: Main1.Dockerfile
Porter:
- 8080: 8080

Trinn 2: Start containere
Start deretter containerne ved hjelp av nevnt kommando:

Docker -Compose Up -D

Trinn 3: Liste opp containerne
Liste ned komponeringsbeholderne og bekreft om definerte tjenester utfører i separate containere eller ikke:

Docker -Compose PS -A

Her kan du se “Web”Utfører på Port”62689”Og“Web2”Eksponerer på“8080”:

Du kan navigere i eksponeringsportene for containere for verifisering:

Det kan observeres at vi med hell har utført to forskjellige containere om gangen fra "Docker-Compose”Kommando:

Konklusjon

Docker-Compose”Og“Docker Run”Begge kommandoene blir utført for å lage og kjøre containerne. Den viktigste forskjellen mellom disse to kommandoene er “Docker Run” -kommandoen oppretter en enkelt beholder på en gang. Imidlertid kan "docker-compose" opprette, administrere og kjøre flere containere samtidig. Denne oppskrivningen har vist den primære forskjellen mellom “Docker-Compose” og “Docker Run” -kommandoene.