Nogle gange foretager brugere ændringer i container- og konfigurationsindstillinger, men disse ændringer er ikke begået i Docker-billedet. For at gemme containerændringerne til billedet eller oprette containerbackup, skal brugerne bygge et nyt billede fra containeren. Til det specifikke formål er ' havnearbejder forpligter sig kommandoen kan bruges.
Denne guide vil demonstrere:
- Hvad er kommandoen 'docker commit'?
- Hvordan genereres et billede fra en Docker-container?
- Hvordan indstiller man forfatteren til et billede?
- Hvordan indstilles commit-meddelelsen for billedet?
- Konklusion
Hvad er kommandoen 'docker commit'?
Det ' havnearbejder forpligter sig ” kommando er et af kommandolinjeværktøjerne i Docker, der bruges til at overføre containerændringerne og indstillingerne til Docker-billedet. Det bruges også til at oprette containersikkerhedskopien, når brugere er forpligtet til at rydde Docker'en ved at fjerne Docker-beholderne. Docker commit-kommandoen inkluderer dog kun containerfilen og konfigurationsændringer i Docker-billedet, den vil aldrig gemme dataene for den diskenhed, der er monteret med containeren.
Syntaks
havnearbejder forpligter sig < MULIGHEDER > < Containernavn / Container-ID > < Billede-navn >
Muligheder
Følgende muligheder bruges med ' havnearbejder forpligter sig kommando til at oprette et billede fra en container på forskellige måder:
< stærk > Mulighed stærk > td >< td >< stærk > Beskrivelse stærk > td >
tr >
< tr >
< td >< stærk > -en, --forfatter stærk > td >
< td > Det bruges til at angive navnet på forfatteren, der begår containerens ændringer i billedet. td >
tr >
< tr >
< td >< stærk > -c, --lave om stærk > td >
< td > Tilføj Dockerfile-instruktionerne for at udføre ændringerne i et billede. td >
tr >
< tr >
< td >< stærk > -m, --meddelelse stærk > td >
< td > Tilføj commit-beskeden eller kommentaren mens generere et billede fra beholderen. td >
tr >
< tr >
< td >< stærk > -p, --pause stærk > td >
< td > Mens containeren forpligtes, vil containeren som standard blive stoppet eller sat på pause. For at forhindre, at beholderen standser, skal ' < stærk > --pause= falsk stærk > ' muligheden bruges.
Hvordan genereres et billede fra en Docker-container?
Når brugeren foretager ændringer i Docker-beholderen direkte gennem beholderskallen eller ikke-interaktivt, ændrer disse ændringer ikke beholderens øjebliksbillede. For at gemme eller foretage ændringer kan brugeren generere et nyt billede fra containeren ved hjælp af ' havnearbejder forpligter sig ” kommando. Dette er også nyttigt til at oprette backup af containeren.
For at oprette et billede via Docker-beholderen skal du gennemgå følgende illustration.
Trin 1: Lav Dockerfile
Først skal du lave en ny fil med navnet ' Dockerfil ” og tilføj ikke nogen filtypenavn med filnavnet. Indsæt derefter følgende kommandoer i 'Dockerfile'
FRA nginx:nyesteCOPY index.html / usr / del / nginx / html / index.html
INDGANG [ 'nginx' , '-g' , 'dæmon slukket;' ]
Her er ' FRA kommandoen bruges til at definere containerbasebilledet, ' KOPI kommandoen kopierer programfilen til den beholder specificerede sti, og ' INDGANG kommandoen indstiller standard eksekverbare filer for containeren.
Trin 2: Lav programfil
Opret derefter en anden fil ' index.html ' og tilføj følgende HTML-kode til filen:
< html >< hoved >
< stil >
legeme {
baggrundsfarve:rgb ( 9 , 4 , 4 ) ;
}
h1 {
farve:rgb ( 221 , 219 , 226 ) ;
skrifttype: kursiv;
}
stil >
hoved >
< legeme >
< h1 > Dette er den første HTML-side h1 >
legeme >
html >
Trin 3: Byg Containers Snapshot
Generer nu containerens snapshot fra Dockerfilen ved hjælp af nedenstående kommando. Her er ' -t '-indstillingen bruges til at angive navnet på øjebliksbilledet:
docker bygning -t demo-img.
Trin 4: Kør Snapshot for at starte container
Start derefter containeren ved at udføre containerbilledet. Til dette formål skal du bruge ' docker-kørsel
I kommandoen ovenfor, ' -s ' indstilling indstiller eksponeringsporten for containeren, ' -navn ' angiver beholdernavnet og ' -d ' option kører containeren i løsrevet tilstand:
Når du har udført containeren, skal du navigere til ' http://localhost:80 ” URL og kontroller, om det containeriserede program er tilgængeligt på eksponeringsporten eller ej:
Ovenstående output viser, at vi har startet containeren med succes.
Trin 5: Opret en ny programfil
Nogle gange kan brugere blive bedt om at tilføje yderligere funktionaliteter til den kørende applikation. Til dette formål skal brugeren muligvis foretage ændringer i programfilen eller tilføje yderligere filer til applikationen.
Til dette formål, lad os oprette en anden fil med navnet ' indeks1.html ' og indsæt følgende kode i filen:
< html >< hoved >
< stil >
legeme {
baggrundsfarve:rgb ( 106 , 103 , 103 ) ;
}
h1 {
farve:rgb ( 221 , 219 , 226 ) ;
skrifttype: kursiv;
}
stil >
hoved >
< legeme >
< h1 > Dette er anden HTML-side h1 >
legeme >
html >
Trin 6: Kopier ny programfil i container
For at kopiere den nye fil til containerstien skal du bruge ' docker cp
Trin 7: Overfør containerændringerne i nyt billede
Efter at have foretaget ændringer i en container, er brugere forpligtet til at forpligte ændringerne til et nyt Docker-billede. Dette billede vil blive genereret gennem en Docker-container. Til dette formål skal du køre ' docker commit
Bemærk: Foretag ændringer i Docker-beholderen, før billedet genereres via ' havnearbejder forpligter sig ” kommando er ikke obligatorisk. Brugere kan direkte bruge 'docker commit' til at generere backup af containeren ved at oprette billedet.
Trin 8: Bekræftelse
For at kontrollere, om billedet er oprettet eller ej gennem containeren, skal du liste Docker-billeder ned ved at bruge ' docker billeder kommando:
docker billederNedenstående output viser, at vi med succes har genereret ' ny-demo-img ' fra ' demo-forts ' container:
Bemærk: For at skubbe Docker-billedet til Docker-hub-registret kan brugeren også tagge billedet ved hjælp af ' docker tag kommando:
docker tag < billednavn > < lagernavn >>< billednavn > : < tag / version >Trin 9: Fjern gammel beholder
Fjern nu den ældre beholder. Til dette formål skal du først stoppe Docker-beholderen ved at bruge ' docker stop
Når du har stoppet beholderen, skal du bruge ' docker rm
Trin 10: Kør ny container fra nyt forpligtet billede
Start nu den nye instans eller Docker-beholder ved hjælp af det nyligt genererede billede gennem ' docker-løb kommando:
docker-løb -s 80 : 80 --navn demo-forts -d ny-demo-img
Naviger nu til ' lokalvært: 80 ” port og kontroller, om HTML-applikationen kører effektivt eller ej:
For at kontrollere den nyligt kopierede fil, der er ' indeks1.html ', brug ' http://localhost/index1.html ' URL:
Ovenstående output viser, at de forpligtede ændringer er gemt i ' ny-demo-img ” Docker image, og vi har effektivt kørt den modificerede container.
Hvordan indstiller man forfatteren til et billede?
Det ' havnearbejder forpligter sig ”-kommandoen understøtter også forskellige muligheder for at tilføje yderligere information sammen med forpligtede ændringer, såsom forfatteren af de nye ændringer, commit-meddelelse og så videre.
For at angive forfatteren til billedet, der begår de nye ændringer, skal du gennemgå de givne trin.
Trin 1: Indstil forfatteren til billedet
For at angive forfatteren til billedet, der foretager ændringerne, skal du bruge ' -en ' eller ' -forfatter ' mulighed sammen med ' havnearbejder forpligter sig kommando:
havnearbejder forpligter sig -en rafia demo-fortsat ny-demo-img
Trin 2: Undersøg billedet
For at kontrollere, om forfatteren til billedet er indstillet eller ej, skal du inspicere det nyligt genererede billede ved hjælp af ' docker inspicer
Outputtet viser, at vi effektivt har indstillet forfatteren til billedet:
Hvordan indstilles en forpligtelsesbesked til billede?
For at indstille commit-meddelelsen sammen med commit-ændringer skal du bruge ' -m ' mulighed. Følg nedenstående instruktioner for illustration.
Trin 1: Indstil Commit Message of Image
For at indstille meddelelsen sammen med forpligtede ændringer, skal du bruge ' docker commit -m <“meddelelse”>
Trin 2: Undersøg billedet
For at kontrollere commit-meddelelsen skal du inspicere billedet gennem ' docker inspicer
Under ' Kommentar ”-tasten, kan brugeren se commit-meddelelsen som vist nedenfor:
Det handler om at generere et Docker-billede fra en container.
Konklusion
For at generere et Docker-billede fra en container skal du først foretage ændringerne i Docker-containeren. Brug derefter ' docker commit