Sådan genereres et Docker-billede fra en container

Sadan Genereres Et Docker Billede Fra En Container



Docker-billeder er en af ​​nøglekomponenterne i Docker-platformen og spiller en vigtig rolle i opbygning, implementering og forsendelse af Docker-applikationer inde i containeren. Docker-billeder er skabeloner eller snapshots af containere, der instruerer containeren i, hvordan man containeriserer og implementerer applikationen. Tusindvis af officielle billeder er tilgængelige på Docker Hub-registret for at containerisere applikationen. Brugere kan dog også oprette disse billeder i henhold til deres krav ved hjælp af Dockerfile og Docker compose-tjenesten.

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'?

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:nyeste

COPY 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 kommando:

docker-løb -s 80 : 80 --navn demo-forts -d demo-img

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 : ” kommando. Her har vi kopieret ' indeks1.html ' fil til ' demo-forts ' containerens angivne sti:

havnearbejder cp index1.html demo-forts: / usr / del / nginx / html / indeks1.html

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 kommando:

docker commit demo-cont new-demo-img

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 billeder

Nedenstå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 kommando:

docker stop demo-forts

Når du har stoppet beholderen, skal du bruge ' docker rm kommando for at fjerne det fra Docker:

havnearbejder rm demo-forts

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 kommando:

docker inspicer new-demo-img

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”> kommando:

havnearbejder forpligter sig -en raffia -m 'Dette billede er genereret af container' demo-fortsat ny-demo-img

Trin 2: Undersøg billedet

For at kontrollere commit-meddelelsen skal du inspicere billedet gennem ' docker inspicer kommando:

docker inspicer new-demo-img

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 ” kommando for at generere billedet fra containeren. Fjern nu den ældre beholder og start den nye instans gennem det nyligt genererede billede. Brugere kan også indstille forfatternavnet på billedet ved hjælp af ' -en '-mulighed og bekræft beskeden ved at bruge ' -m ' mulighed. Denne blog har illustreret, hvordan man genererer billeder fra en Docker-container.