Hur man genererar en Docker-bild från en behållare

Hur Man Genererar En Docker Bild Fran En Behallare



Docker-bilder är en av nyckelkomponenterna i Docker-plattformen och spelar en viktig roll för att bygga, distribuera och skicka Docker-applikationer inuti containern. Docker-avbildningar är mallar eller ögonblicksbilder av behållare som instruerar behållaren om hur man containeriserar och distribuerar programmet. Tusentals officiella bilder finns tillgängliga på Docker Hub-registret för att behålla applikationen. Användare kan dock också skapa dessa bilder enligt deras krav med hjälp av Dockerfile och Docker compose-tjänsten.

Ibland gör användare ändringar i container- och konfigurationsinställningar, men dessa ändringar är inte committerade i Docker-bilden. För att spara behållarändringarna i bilden eller skapa behållarsäkerhetskopian måste användarna bygga en ny bild från behållaren. För det specifika syftet är ' hamnarbetare ”-kommandot kan användas.

Denna guide kommer att visa:







Vad är kommandot 'docker commit'?

den ' hamnarbetare ” kommandot är ett av kommandoradsverktygen i Docker som används för att överföra behållarändringarna och inställningarna i Docker-bilden. Den används också för att skapa behållarbackupen när användare måste ta bort Docker genom att ta bort Docker-behållarna. Docker commit-kommandot inkluderar dock bara containerfilen och konfigurationsändringar i Docker-avbildningen, det kommer aldrig att spara data för volymen som är monterad med containern.



Syntax



hamnarbetare < ALTERNATIV > < Behållarnamn / Container-ID > < Bild-namn >

alternativ





Följande alternativ används med ' hamnarbetare ” kommando för att skapa en bild från en behållare på olika sätt:

< stark > Alternativ stark > td >
< td >< stark > Beskrivning stark > td >
tr >
< tr >
< td >< stark > -a, --författare stark > td >
< td > Den används för att ange namnet på författaren som utför behållarens ändringar i bilden. td >
tr >
< tr >
< td >< stark > -c, --förändra stark > td >
< td > Lägg till Dockerfile-instruktionerna för att genomföra ändringarna i en bild. td >
tr >
< tr >
< td >< stark > -m, --meddelande stark > td >
< td > Lägg till commit-meddelandet eller kommentaren medan genererar en bild från behållaren. td >
tr >
< tr >
< td >< stark > -p, --paus stark > td >
< td > När behållaren aktiveras kommer behållaren som standard att stoppas eller pausas. För att stoppa behållaren från att pausa, < stark > --paus= falsk stark > ' alternativet används.

Hur genererar man en bild från en Docker-behållare?

När användaren gör ändringar i Docker-behållaren direkt genom behållarskalet eller icke-interaktivt, ändrar dessa ändringar inte behållarens ögonblicksbild. För att spara eller utföra ändringar kan användaren generera en ny bild från behållaren med hjälp av ' hamnarbetare ” kommando. Detta är också användbart för att skapa säkerhetskopian av behållaren.



För att skapa en bild via Docker-behållaren, gå igenom följande illustration.

Steg 1: Skapa Dockerfile

Gör först en ny fil med namnet ' Dockerfil ” och lägg inte till något filtillägg med filnamnet. Efter det, klistra in följande kommandon i 'Dockerfile'

FRÅN nginx:senaste

COPY index.html / usr / dela med sig / nginx / html / index.html

INKÖRSPORT [ 'nginx' , '-g' , 'demon av;' ]

Här, ' FRÅN kommandot används för att definiera containerbasbilden, ' KOPIERA kommandot kopierar programfilen till den containerspecifika sökvägen och INKÖRSPORT ”-kommandot ställer in standardkörbara filer för behållaren.

Steg 2: Skapa programfil

Skapa sedan en annan fil ' index.html ' och lägg till följande HTML-kod till filen:

< html >

< huvud >

< stil >

kropp {

bakgrundsfärg:rgb ( 9 , 4 , 4 ) ;

}

h1 {

färg:rgb ( 221 , 219 , 226 ) ;

teckensnittsstil: kursiv;

}

stil >

huvud >

< kropp >

< h1 > Detta är den första HTML-sidan h1 >

kropp >

html >

Steg 3: Bygg Containers ögonblicksbild

Generera nu behållarens ögonblicksbild från Dockerfilen med kommandot nedan. Här, ' -t alternativet används för att ställa in namnet på ögonblicksbilden:

hamnarbyggare -t demo-img.

Steg 4: Kör Snapshot för att starta behållare

Starta sedan behållaren genom att köra behållarbilden. För detta ändamål, använd ' docker köra ” kommando:

hamnarkörning -s 80 : 80 --namn demo-forts -d demo-img

I kommandot ovan, ' -s ' alternativet ställer in exponeringsporten för behållaren, ' -namn ' anger behållarens namn och ' -d alternativet kör behållaren i fristående läge:

Efter att ha kört behållaren, navigera till ' http://localhost:80 ” URL och kontrollera om det containeriserade programmet är tillgängligt på exponeringsporten eller inte:

Ovanstående utdata visar att vi framgångsrikt har startat behållaren.

Steg 5: Skapa en ny programfil

Ibland kan användarna behöva lägga till ytterligare funktioner till det program som körs. För detta ändamål kan användaren behöva göra ändringar i programfilen eller lägga till ytterligare filer till applikationen.

För detta ändamål, låt oss skapa en annan fil med namnet ' index1.html ' och klistra in följande kod i filen:

< html >

< huvud >

< stil >

kropp {

bakgrundsfärg:rgb ( 106 , 103 , 103 ) ;

}

h1 {

färg:rgb ( 221 , 219 , 226 ) ;

teckensnittsstil: kursiv;

}

stil >

huvud >

< kropp >

< h1 > Detta är den andra HTML-sidan h1 >

kropp >

html >

Steg 6: Kopiera ny programfil i behållaren

För att kopiera den nya filen till containersökvägen, använd ' docker cp : ” kommando. Här har vi kopierat ' index1.html ' fil till ' demo-forts ' behållarens angivna sökväg:

hamnarbetare cp index1.html demo-forts: / usr / dela med sig / nginx / html / index1.html

Steg 7: Bekräfta behållarändringarna i ny bild

Efter att ha gjort ändringar i en behållare måste användarna överföra ändringarna till en ny Docker-bild. Den här bilden kommer att genereras genom en Docker-behållare. För detta ändamål, kör ' docker commit ” kommando:

docker commit demo-cont new-demo-img

Notera: Göra ändringar i Docker-behållaren innan bilden genereras genom ' hamnarbetare ” kommando är inte obligatoriskt. Användare kan direkt använda 'docker-commit' för att skapa säkerhetskopian av behållaren genom att skapa bilden.

Steg 8: Bekräftelse

För att kontrollera om bilden skapas eller inte genom behållaren, lista ner Docker-bilder genom att använda ' docker-bilder ” kommando:

docker-bilder

Utdata nedan visar att vi framgångsrikt har genererat ' ny-demo-img ' från ' demo-forts ' behållare:

Notera: För att skicka Docker-avbildningen till Docker-navregistret kan användaren också tagga bilden med hjälp av ' docker tag ” kommando:

docker tag < bildnamn > < förvarsnamn >>< bildnamn > : < märka / version >

Steg 9: Ta bort gammal behållare

Ta nu bort den äldre behållaren. För detta ändamål, stoppa först Docker-behållaren med hjälp av ' docker stop ” kommando:

docker stop demo-forts

När du har stoppat behållaren, använd ' docker rm ” kommando för att ta bort det från Docker:

hamnarbetare rm demo-forts

Steg 10: Kör ny behållare från ny engagerad bild

Starta nu den nya instansen eller Docker-behållaren med den nygenererade bilden genom ' hamnarkörning ” kommando:

hamnarkörning -s 80 : 80 --namn demo-forts -d ny-demo-img

Navigera nu till ' lokal värd:80 ' port och kontrollera om HTML-applikationen körs effektivt eller inte:

För att kontrollera den nyligen kopierade filen som är ' index1.html ', använd ' http://localhost/index1.html ' URL:

Ovanstående utdata visar att de genomförda ändringarna har sparats framgångsrikt i ' ny-demo-img ” Docker image och vi har effektivt kört den modifierade behållaren.

Hur ställer man in författaren till en bild?

den ' hamnarbetare ” kommandot stöder också olika alternativ för att lägga till ytterligare information tillsammans med commited ändringar som författaren till de nya ändringarna, commit meddelande och så vidare.

För att ange författaren till bilden som gör de nya ändringarna, gå igenom de givna stegen.

Steg 1: Ställ in författaren till bilden

För att ange författaren till bilden som gör ändringarna, använd ' -a ' eller ' -författare alternativet tillsammans med hamnarbetare ” kommando:

hamnarbetare -a rafia demo-forts. ny-demo-img

Steg 2: Inspektera bilden

För att verifiera om författaren till bilden är inställd eller inte, inspektera den nyskapade bilden med hjälp av ' docker inspect ” kommando:

docker inspektera new-demo-img

Resultatet visar att vi effektivt har ställt in författaren till bilden:

Hur ställer jag in ett bekräftelsemeddelande för bilden?

För att ställa in commit-meddelandet tillsammans med commit-ändringar, använd ' -m ' alternativet. Följ instruktionerna nedan för illustration.

Steg 1: Ställ in Commit Message of Image

För att ställa in meddelandet tillsammans med engagerade ändringar, använd ' docker commit -m <“meddelande”> ” kommando:

hamnarbetare -a bast -m 'Denna bild är genererad av behållare' demo-forts. ny-demo-img

Steg 2: Inspektera bilden

För att kontrollera commit-meddelandet, inspektera bilden genom ' docker inspect ” kommando:

docker inspektera new-demo-img

Under ' Kommentar ”-tangenten kan användaren se commit-meddelandet som visas nedan:

Det handlar om att generera en Docker-bild från en behållare.

Slutsats

För att generera en Docker-bild från en behållare, gör först ändringarna i Docker-behållaren. Efter det, använd ' docker commit ” kommando för att generera bilden från behållaren. Ta nu bort den äldre behållaren och starta den nya instansen genom den nyligen genererade bilden. Användare kan också ställa in författarens namn på bilden med hjälp av ' -a ' alternativet och skicka meddelandet med ' -m ' alternativet. Den här bloggen har illustrerat hur man genererar bilder från en Docker-behållare.