En nybörjarguide till en flerstegs Docker-byggnad

En Nyborjarguide Till En Flerstegs Docker Byggnad



Docker multi-stage build är processen att specificera en serie builds i en Dockerfil. Dockerfilen innehåller med andra ord flera ' FRÅN ”-satser i en enda fil, och den nya från-satsen använder andra eller tidigare basinstruktioner. Flerstegsbygget gör det möjligt för utvecklare att bryta ner utvecklingsprocessen i flera steg. Dessutom hänvisas basinstruktionen till som installations- eller installationsinstruktioner, och andra instruktioner använder beroenden av basinstruktioner för att fungera korrekt.

Den här skrivningen kommer att ge en guide till ett flerstegs Docker-bygge.

En nybörjarguide till en flerstegs Docker-byggnad

För att skapa en Docker-bild genom enkel Dockerfile och flerstegs Dockerfile-byggen, ta en titt på de listade metoderna:







Hur man bygger en enkel Docker-bild?

För att skapa en enkel Docker-bild med en enkel Dockerfil, gå igenom de givna instruktionerna.



Steg 1: Öppna Terminal
Från Windows ' Börja ”-menyn, öppna Git-terminalen:







Steg 2: Skapa ny katalog
Skapa sedan en ny projektkatalog med det givna kommandot:

$ mkdir Flersteg



Efter det öppnar du projektkatalogen med hjälp av ' CD ” kommando:

$ CD Flersteg

Steg 3: Skapa programfil
Skapa och öppna en ny programfil för att implementera ' golang ' program. Vi har till exempel skapat en ' main.go ' fil:

$ nano main.go

Klistra in den angivna koden i ' main.go ' fil. Detta program kommer att skriva ut den enkla utdata ' Hej! Välkommen till LinuxHint Tutorial ” på den lokala värden:

importera (
'fmt'
'logga'
'net/http'
)

func hanterare ( w http . ResponseWriter , r * http. Begäran ) {
fmt . Fprintf ( i , 'Hej! Välkommen till LinuxHint Tutorial' )
}
func huvud () {
http . HandleFunc ( '/' , hanterare )
logga . Dödlig ( http . ListenAndServe ( '0.0.0.0:8080' , noll ))
}

Tryck ' CTRL+O ' för att spara ändringarna och ' CTRL+X ' att lämna.

Steg 4: Skapa DockerFile
Skapa och öppna en ny Dockerfil i Nano-textredigeraren med hjälp av ' nano Dockerfile ” kommando:

$ nano Dockerfil

Klistra in följande kod i ' Dockerfil ” som kommer att instruera behållaren om hur projektet ska distribueras:

FRÅN golang: 1.8
WORKDIR / / src / app
COPY main.go .
KÖR och bygg -O webbserver .

CMD [ './webbserver' ]

Tryck ' CTRL+O ' för att spara filen och ' CTRL+X ” för att avsluta redigeraren:

Steg 5: Skapa Docker Image
Med hjälp av Dockerfile, skapa en ny Docker-bild genom ' hamnarbyggare ” kommando. den ' -t ”-taggen används för att ange bildtaggen/namnet:

$ hamnarbyggare -t ny-webb-bild .

Steg 6: Kör Docker Image
När du har skapat Docker-bilden använder du kommandot nedan för att köra Docker-bilden. den ' -s alternativet används för att ange portnumret där Docker-behållaren kommer att köra programmet:

$ hamnarkörning -s 8080 : 8080 ny-webb-bild

Efter det, navigera till ' http://localhost:8080 ' för att kontrollera om programmet körs eller inte:

Från ovanstående utdata kan du se att vi framgångsrikt har distribuerat applikationen på localhost:

Steg 7: Kontrollera Docker-bilder
Slutligen, kör ' docker-bilder ” kommando för att kontrollera ytterligare information om den nyskapade Docker-bilden:

$ docker-bilder ny-webb-bild

Det kan observeras att storleken på Docker-bilden är för stor för att utföra det lilla projektet. I ett sådant scenario kan flerstegsbyggnaden användas för att minska Docker-bildstorleken:

Hur man bygger en Docker-bild från Multistage Dockerfile?

För att skapa en flerstegs Dockerfile för att dela upp utvecklingsprocesserna i steg och för att minska bildstorleken, ta en titt på de medföljande stegen.

Steg 1: Öppna Dockerfile
Öppna först Dockerfilen i ' Nano textredigerare ' genom det nämnda kommandot:

$ nano Dockerfil

Steg 2: Skapa Multistage Dockerfile
Klistra in följande kod i Dockerfile. Det kan noteras att Docker-filen innehåller mer än en ' FRÅN ” uttalande, vilket betyder att vi skapar en flerstegs Dockerfile:

FRÅN golang: 1.8 AS bas
WORKDIR / / src / app
COPY main.go .
KÖR och bygg -O webbserver .

FRÅN alpint
WORKDIR / app
KOPIERA --från =bas / / src / app / app /
CMD [ './webbserver' ]

Tryck ' CTRL+O ' för att spara ändringar och ' CTRL+X ” för att avsluta redigeraren.

Steg 3: Skapa Docker Image
Bygg nu den nya Docker-bilden med hjälp av en flerstegsbyggnad. För detta ändamål, kör det givna kommandot:

$ hamnarbyggare -t ny-webb-bild .

Återigen, kontrollera ytterligare information om Docker-bilden genom ' docker-bilder ” kommando:

$ docker-bilder ny-webb-bild

Utdata visar att vi framgångsrikt har skapat en docker-fil och storleken på Docker-filen reduceras till endast ' 12,9 MB ”:

Steg 4: Kör Docker Image
Slutligen, kör Docker-avbildningen för att köra behållaren för att verifiera om Docker-avbildningen fungerar korrekt eller inte:

$ hamnarkörning -s 8080 : 8080 ny-webb-bild

Öppna den lokala värdservern genom att navigera till ' http://localhost:8080 ' på webbläsaren:

Resultatet visar att vi framgångsrikt har distribuerat programmet genom ett flerstegsbygge.

Slutsats

Docker-flerstegsbygget specificerar serien av byggen i steg. För att skapa en flerstegs Dockerfil, specificera mer än en 'FROM'-sats och hänvisa till den första ' FRÅN ” uttalande som basbygge. Efter det skapar du en ny Docker-bild med hjälp av ' docker build -t . ” kommando. Inlägget har utarbetat en komplett guide till ett flerstegs Docker-bygge.