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 smallimageNaviger til den nyopprettede katalogen ved å bruke "CD”Kommando:
$ CD SmallimageTrinn 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 dockerfileLim inn det underkodede utdraget inn i “Dockerfile”. Disse instruksjonene vil kjøre en enkel Golang -applikasjon:
Fra Golang: 1.8 som byggherreGå 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 NormalImageFra 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 dockerfileTrinn 2: Endre dockerfile til multistage
Endre DockerFile-instruksjoner i instruksjoner på flere nivåer som vist nedenfor:
Fra Golang: 1.8 som byggherreTrinn 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 NormalImageDet 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.