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'?
- Hur genererar man en bild från en Docker-behållare?
- Hur ställer man in författaren till en bild?
- Hur ställer jag in commit-meddelandet för bilden?
- Slutsats
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:senasteCOPY 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
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
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
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-bilderUtdata 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
När du har stoppat behållaren, använd ' docker rm
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
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”>
Steg 2: Inspektera bilden
För att kontrollera commit-meddelandet, inspektera bilden genom ' docker inspect
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