Bruk Docker Multi-Stage Builds for å holde bildestørrelsen nede?

Bruk Docker Multi-Stage Builds for å holde bildestørrelsen nede?

Docker -bilder er en av de viktigste komponentene i Docker -plattformen som brukes til å administrere og instruere containere. Docker -bilder leser instruksjoner fra Dockerfile og gir nevnte avhengigheter til Docker -containere for prosjektbygging og distribusjon. Derfor er størrelsen på Docker -bilder også enorm.

Noen ganger utfører imidlertid utviklere et enkelt program eller noen få kodelinjer. I et slikt scenario er et bilde av en enorm størrelse ikke egnet, og det tar mye av systemet ditt å utføre et enkelt program.

Denne oppskrivningen vil illustrere hvordan du kan bruke en flertrinns bygg for å holde størrelsen på bildet nede.

Hvordan generere et Docker -bilde?

For å bygge et enkelt bilde for å containere et applikasjon, oppretter du først en enkel tekstfil som heter DockerFile. Bruk deretter “Docker Build”For å generere et friskt Docker -bilde. For å lage et nytt Docker -bilde, sjekk ut de medfølgende trinnene.

Trinn 1: Lanseringsterminal

Først må du starte systemterminalen for å utføre kommandoer. For eksempel har vi lansert "Git bash”Git Terminal:

Trinn 2: Lag ny katalog

Deretter oppretter du en ny katalog ved hjelp av "mkdir”Kommando:

$ mkdir smallimage

Naviger til den nyopprettede katalogen ved å bruke "CD”Kommando:

$ CD Smallimage

Trinn 3: Lag dockerfile

I neste trinn, lag en enkel dockerfile. Brukere kan lage dockerfilen manuelt. For eksempel har vi brukt "Nano”Redaktør for å generere en fil på terminalen:

$ nano dockerfile

Lim inn det underkodede utdraget inn i “Dockerfile”. Disse instruksjonene vil kjøre en enkel Golang -applikasjon:

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

Gå videre for å generere et friskt Docker -bilde.

Trinn 4: Generer Docker -bildet

Bygg deretter Docker -bildet ved hjelp av den nevnte kommandoen. Her, "-t”Alternativet brukes til å oppgi bildenavn:

$ docker build -t normalimage .

Trinn 5: Sjekk Docker -bildet

Se det nyopprettede bildet for å bekrefte om bildet er opprettet eller ikke:

$ Docker Images NormalImage

Fra utgangen kan du legge merke til at størrelsen på et enkelt Docker -bilde er 719MB:

Hvordan du bruker docker multi-trinns bygg for å holde bildestørrelsen nede?

For en flertrinns bygging brukes en Docker-fil med multistage-instruksjoner. Baseinstruksjoner inneholder avhengigheter i flerstegbygg, mens barneinstruksjoner gir instruksjoner for å distribuere programmer. Hver gang en beholder trenger noen avhengigheter, vil den få tilgang til fra basestadiet. Størrelsen på bildet reduseres automatisk i flertrinns bygninger.

Følg opp instruksjonene under levert for å bruke flerstegbygg for å holde bildestørrelsen nede.

Trinn 1: Åpne Dockerfile

Først åpner du Dockerfile ved hjelp av “Nano”Text Editor:

$ nano dockerfile

Trinn 2: Endre dockerfile til multistage

Endre DockerFile-instruksjoner i instruksjoner på flere nivåer som vist nedenfor:

Fra Golang: 1.8 som byggherre
Workdir/go/src/app
Kopier Main.gå .
Run Go Build -o Webserver .Fra alpine
WorkDir /App
Kopi -fra = byggherre/go/src/app//app/
Cmd ["./Internett server"]

Trinn 3: Gjenoppbygge et Docker -bilde

Neste, oppretter flertrinns Docker-bildet ved å bruke den undergitte kommandoen:

$ docker build -t normalimage .

Deretter må du bekrefte om bildet er opprettet eller ikke gjennom den gitte kommandoen:

$ Docker Images NormalImage

Det kan legges merke til at bildet er opprettet med hell. Størrelsen reduseres til bare "12.9MB”:

Vi har demonstrert hvordan vi bruker en flertrinns bygg for å holde bildestørrelsen nede.

Konklusjon

I en flertrinns bygning er dockerfile-instruksjonene delt inn i flere stadier. Baseinstruksjon inneholder installasjoner og avhengighetsinstruksjoner som kreves av beholderen, og instruksjoner for barn brukes til å distribuere og bygge prosjekter. For å bruke en flertrinns Docker-bygg, lager du først en multistage dockerfile. Deretter genererer du et Docker -bilde gjennom "Docker Build -t ”Kommando. Denne bloggen har illustrert hvordan du bruker en multistage docker build for å redusere bildestørrelsen.