Denne oppskrivningen vil gi en guide til en multistage docker build.
En nybegynnerguide til en multistage docker build
For å lage et Docker -bilde gjennom enkel DockerFile og multistage Dockerfile -bygg, ta en titt på de listede metodene:
Hvordan bygge et enkelt Docker -bilde?
For å lage et enkelt Docker -bilde ved hjelp av en enkel DockerFile, gå gjennom de gitte instruksjonene.
Trinn 1: Åpen terminal
Fra vinduene “Oppstart”Meny, åpne Git -terminalen:
Trinn 2: Lag ny katalog
Deretter oppretter du en ny prosjektkatalog ved hjelp av den gitte kommandoen:
$ mkdir multistage
Etter det, åpne prosjektkatalogen ved hjelp av "CD”Kommando:
$ CD Multistage
Trinn 3: Opprett programfil
Lag og åpne en ny programfil for å implementere “Golang" program. For eksempel har vi laget en "hoved-.gå”Fil:
$ nano main.gå
Lim inn den medfølgende koden i "hoved-.gå”Fil. Dette programmet vil skrive ut den enkle utgangen “Hallo! Velkommen til Linuxhint Tutorial”På den lokale verten:
import (Trykk "Ctrl+O”For å redde endringene og“Ctrl+x”Å gå ut.
Trinn 4: Lag dockerfile
Lag og åpne en ny Dockerfile i Nano Text Editor ved hjelp av “Nano Dockerfile”Kommando:
$ nano dockerfile
Lim inn følgende kode inne i “Dockerfile”Det vil instruere beholderen om hvordan du distribuerer prosjektet:
Fra Golang: 1.8
Workdir/go/src/app
Kopier Main.gå .
Run Go Build -o Webserver .
Cmd ["./Internett server"]
Trykk "Ctrl+O”For å lagre filen og“Ctrl+x”For å forlate redaktøren:
Trinn 5: Lag Docker -bilde
Ved hjelp av DockerFile, lag et nytt Docker -bilde gjennom “Docker Build”Kommando. “-t”Tag brukes til å spesifisere bildekoden/navnet:
$ docker build -t new-web-image .
Trinn 6: Kjør Docker -bilde
Etter å ha opprettet Docker-bildet, bruker du den nedenfor-nevnte kommandoen for å kjøre Docker-bildet. “-p”Alternativet brukes til å spesifisere portnummeret der Docker -beholderen skal utføre programmet:
$ Docker Run -P 8080: 8080 New-Web-Image
Etter det, naviger til “http: // localhost: 8080”For å sjekke om applikasjonen kjører eller ikke:
Fra output ovenfor kan du se at vi har distribuert applikasjonen på Localhost:
Trinn 7: Sjekk Docker -bilder
Til slutt, utfør "Docker -bilder ”Kommando for å sjekke tilleggsinformasjonen om det nyopprettede Docker -bildet:
$ docker bilder new-web-image
Det kan observeres at størrelsen på Docker -bildet er for stort til å utføre det lille prosjektet. I et slikt scenario kan flertrinnsbyggingen brukes til å redusere docker-bildestørrelsen:
Hvordan bygge et Docker -bilde fra multistage dockerfile?
For å lage en multistage dockerfile for å dele ned utviklingsprosessene i stadier og for å redusere bildestørrelsen, kan du se på medfølgende trinn.
Trinn 1: Åpne Dockerfile
Først åpner du Dockerfile i “Nano Text Editor”Gjennom den nevnte kommandoen:
$ nano dockerfile
Trinn 2: Lag multistage dockerfile
Lim inn følgende kode i DockerFile. Det kan legges merke til at Docker -filen inneholder mer enn en “FRA”Uttalelse, som betyr at vi lager en flertrinns Dockerfile:
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"]
Trykk "Ctrl+O”For å lagre endringer og“Ctrl+x”For å forlate redaktøren.
Trinn 3: Lag Docker -bilde
Nå, bygg det nye Docker -bildet ved hjelp av en flerstegbygg. For dette formålet, utfør den gitte kommandoen:
$ docker build -t new-web-image .
Igjen, sjekk tilleggsinformasjonen om Docker -bildet gjennom “Docker -bilder”Kommando:
$ docker bilder new-web-image
Utgangen viser at vi har opprettet en Docker -fil og størrelsen på Docker -filen reduseres til bare "12.9MB”:
Trinn 4: Kjør Docker -bilde
Til slutt, kjør Docker -bildet for å utføre beholderen for å bekrefte om Docker -bildet fungerer som den skal eller ikke:
$ Docker Run -P 8080: 8080 New-Web-Image
Åpne den lokale vertsserveren ved å navigere til “http: // localhost: 8080”På nettleseren:
Utgangen viser at vi har distribuert programmet gjennom en flerstegbygg.
Konklusjon
Docker Multistage Build spesifiserer serien med bygg i stadier. For å lage en multistage dockerfile, spesifiser mer enn en "fra" -uttalelse og referer til den første "FRA”Uttalelse som basebygg. Etter det, lag et nytt Docker -bilde ved å bruke “Docker Build -t .”Kommando. Innlegget har utdypet en komplett guide til en multistage docker build.