Dette innlegget vil demonstrere det grunnleggende konseptet med multistage docker build.
Forskjell mellom enkel bygg og flerstegbygg
Enkelt bygg inneholder bare en “FRA”For å spesifisere basisbildet. Alle installasjonsavhengighetene og kildefilene blir behandlet i en enkelt seksjon. Bildet bygget gjennom den enkle bygningen er også enormt i størrelse. Imidlertid er flerstegbygg delt inn i flere stadier og har flere "fra" -uttalelser. Flerstegbygget er også nyttig for å redusere bildestørrelsen. Det kan også brukes hvis brukere ønsker å behandle eller lage bilder i biter for å utføre kode i seksjoner.
Hvordan lage et bilde fra flerstegbygg?
For å lage et enkelt Docker-bilde fra flerstegbygg, lager du først et flernivå dockerfile. Deretter utføre "bygge”Kommando av Docker for å bygge bildet. For å gjøre det, se på de gitte trinnene.
Trinn 1: Åpen terminal
Først må du starte terminalen fra startmenyen for å bruke Docker CLI. For å gjøre det, vil vi bruke "Git bash”På Windows:
Åpne applikasjonskatalogen/mappen ved hjelp av "CD”Kommando:
$ CD Multistage
Trinn 2: Opprett kodefil
Neste, opprette en programfil. For dette formålet har vi brukt Nano Text Editor for å lage en “hoved-.gå”Programfil. Du kan imidlertid også bruke Notisblokk eller Visual Studio Code Editor:
$ nano main.gå
Lim inn den gitte koden nedenfor i filen:
import (
"FMT"
"Logg"
"Nett/http"
)
Funchandler (W http.ResponseWriter, R *http.Be om)
fmt.Fprintf (w, "Hei! Velkommen til Linuxhint Tutorial ")
FUNCMAIN ()
http.HandleFunc ("/", handler)
Logg.Fatal (http.Listenandserve ("0.0.0.0: 8080 ", null))
Trinn 3: Lag multistage dockerfile
Deretter genererer du og åpner “Dockerfile”I en Nano -tekstredigerer for å spesifisere multistage -instruksjonene for multistage build:
$ nano dockerfile
Kopier utdraget i DockerFile. Her er dockerfile -instruksjoner delt inn i to seksjoner:
Fra Golang: 1.8 som base
Workdir/go/src/app
Kopier Main.gå .
Run Go Build -o Webserver .
Fra alpine
WorkDir /App
Kopier -fra = base/go/src/app/app/
Cmd ["./Internett server"]
Trinn 4: Generer multistage Docker -bilde
Ved hjelp av en multistage dockerfile, generer du bildet gjennom "Docker Build”Kommando. Her, for å definere taggen/navnet på et bilde, har vi brukt "-t" flagg:
$ docker build -t new-web-image .
Bekreft om bildet er opprettet eller ikke ved å bruke "Docker -bilder ”Kommando:
$ docker bilder new-web-image
Utgangen nedenfor viser at bildet opprettes og størrelsen på bildet bare er "12.9MB”:
Trinn 4: Kjør Docker -bilde
For å utføre bildet for å opprette og starte en container for programdistribusjon, gå gjennom den nevnte kommandoen. Her, "-p”Flagget brukes til å tildele beholderens utsatte port:
$ Docker Run -P 8080: 8080 New-Web-Image
Besøk eksponeringsporten til den lokale verten i nettleseren for å sjekke om beholderen er startet eller ikke:
Fra bildet over kan det være klart at vi har distribuert programmet gjennom multistage build.
Konklusjon
I flerstegbygget er utviklingsprosessen delt opp i flerstadier. Dockerfile er delt inn i flere seksjoner og har flere “FRA”Uttalelser. Det kan brukes hvis brukere ønsker å behandle eller lage bilder i biter for å utføre kode i seksjoner. Flerstegbygget er også nyttig for å redusere bildestørrelsen. Denne artikkelen har vist den grunnleggende forståelsen av Docker Multistage Builds.