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:
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:
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:
Klistra in följande kod i ' Dockerfil ” som kommer att instruera behållaren om hur projektet ska distribueras:
FRÅN golang: 1.8WORKDIR / gå / 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:
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:
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
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:
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:
WORKDIR / gå / src / app
COPY main.go .
KÖR och bygg -O webbserver .
FRÅN alpint
WORKDIR / app
KOPIERA --från =bas / gå / 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:
Återigen, kontrollera ytterligare information om Docker-bilden genom ' docker-bilder ” kommando:
$ docker-bilder ny-webb-bildUtdata 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:
Ö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