Hvordan generere et Docker-bilde fra en container

Hvordan Generere Et Docker Bilde Fra En Container



Docker-bilder er en av nøkkelkomponentene i Docker-plattformen og spiller en viktig rolle i å bygge, distribuere og sende Docker-applikasjoner inne i containeren. Docker-bilder er maler eller øyeblikksbilder av containere som instruerer containeren om hvordan den skal containerisere og distribuere applikasjonen. Tusenvis av offisielle bilder er tilgjengelige i Docker Hub-registeret for å beholde applikasjonen. Imidlertid kan brukere også lage disse bildene i henhold til deres krav ved å bruke Dockerfile og Docker compose-tjenesten.

Noen ganger gjør brukere endringer i beholder- og konfigurasjonsinnstillinger, men disse endringene er ikke forpliktet i Docker-bildet. For å lagre beholderendringene i bildet eller opprette beholdersikkerhetskopien, må brukerne bygge et nytt bilde fra beholderen. For det spesifikke formålet, ' havnearbeider forplikte seg kommandoen kan brukes.

Denne veiledningen vil demonstrere:







Hva er kommandoen 'docker commit'?

« havnearbeider forplikte seg kommandoen er en av kommandolinjeverktøyene til Docker som brukes til å overføre beholderendringene og innstillingene til Docker-bildet. Den brukes også til å lage beholdersikkerhetskopien når brukere må rydde opp i Docker ved å fjerne Docker-beholderne. Docker commit-kommandoen inkluderer imidlertid bare containerfilen og konfigurasjonsendringer i Docker-bildet, den vil aldri lagre dataene til volumet som er montert med containeren.



Syntaks



havnearbeider forplikte seg < ALTERNATIVER > < Beholdernavn / Container-ID > < Bilde-navn >

Alternativer





Følgende alternativer brukes med ' havnearbeider forplikte seg ' kommando for å lage et bilde fra en beholder på forskjellige måter:

< sterk > Alternativ sterk > td >
< td >< sterk > Beskrivelse sterk > td >
tr >
< tr >
< td >< sterk > -en, --forfatter sterk > td >
< td > Den brukes til å spesifisere navnet på forfatteren som utfører beholderens endringer i bildet. td >
tr >
< tr >
< td >< sterk > -c, --endring sterk > td >
< td > Legg til Dockerfile-instruksjonene for å foreta endringene i et bilde. td >
tr >
< tr >
< td >< sterk > -m, --melding sterk > td >
< td > Legg til commit-meldingen eller kommentaren samtidig som generere et bilde fra beholderen. td >
tr >
< tr >
< td >< sterk > -p, --pause sterk > td >
< td > Mens du forplikter beholderen, vil beholderen som standard bli stoppet eller satt på pause. For å stoppe beholderen fra å settes på pause, ' < sterk > --pause= falsk sterk > alternativet brukes.

Hvordan generere et bilde fra en Docker-beholder?

Når brukeren gjør endringer i Docker-beholderen direkte gjennom beholderskallet eller ikke-interaktivt, endrer ikke disse endringene beholder-øyeblikksbildet. For å lagre eller foreta endringer, kan brukeren generere et nytt bilde fra beholderen ved å bruke ' havnearbeider forplikte seg ' kommando. Dette er også nyttig for å lage sikkerhetskopien av beholderen.



For å lage et bilde via Docker-beholderen, gå gjennom følgende illustrasjon.

Trinn 1: Lag Dockerfile

Lag først en ny fil med navnet ' Dockerfil ” og ikke legg til noen filtype med filnavnet. Deretter limer du inn følgende kommandoer i 'Dockerfile'

FRA nginx:nyeste

COPY index.html / usr / dele / nginx / html / index.html

INNGANGSPUNKT [ 'nginx' , '-g' , 'demon av;' ]

Her er ' FRA kommandoen brukes til å definere containerbasebildet, ' KOPIERE kommandoen kopierer programfilen til den containerspesifiserte banen, og ' INNGANGSPUNKT kommandoen setter standard kjørbare filer for beholderen.

Trinn 2: Lag programfil

Deretter oppretter du en annen fil ' index.html ' og legg til følgende HTML-kode i filen:

< html >

< hode >

< stil >

kropp {

bakgrunnsfarge:rgb ( 9 , 4 , 4 ) ;

}

h1 {

farge:rgb ( 221 , 219 , 226 ) ;

skriftstil: kursiv;

}

stil >

hode >

< kropp >

< h1 > Dette er den første HTML-siden h1 >

kropp >

html >

Trinn 3: Bygg beholderens øyeblikksbilde

Generer nå beholderens øyeblikksbilde fra Dockerfile ved å bruke kommandoen nedenfor. Her er ' -t alternativet brukes til å angi navnet på øyeblikksbildet:

dockerbygg -t demo-img.

Trinn 4: Kjør Snapshot for å starte container

Deretter starter du beholderen ved å kjøre beholderbildet. For dette formålet, bruk ' docker kjøre ' kommando:

docker run -s 80 : 80 --Navn demo-forts -d demo-img

I kommandoen ovenfor, ' -s ' alternativet setter eksponeringsporten til beholderen, ' -Navn ' spesifiserer beholdernavnet og ' -d alternativet kjører beholderen i frakoblet modus:

Etter å ha utført beholderen, naviger til ' http://localhost:80 ' URL og sjekk om det containeriserte programmet er tilgjengelig på eksponeringsporten eller ikke:

Utdataene ovenfor viser at vi har startet beholderen.

Trinn 5: Lag en ny programfil

Noen ganger kan brukere bli bedt om å legge til flere funksjoner til den kjørende applikasjonen. For dette formålet kan det hende at brukeren må gjøre endringer i programfilen eller legge til flere filer i applikasjonen.

For dette formålet, la oss lage en annen fil med navnet ' indeks1.html ' og lim inn følgende kode i filen:

< html >

< hode >

< stil >

kropp {

bakgrunnsfarge:rgb ( 106 , 103 , 103 ) ;

}

h1 {

farge:rgb ( 221 , 219 , 226 ) ;

skriftstil: kursiv;

}

stil >

hode >

< kropp >

< h1 > Dette er den andre HTML-siden h1 >

kropp >

html >

Trinn 6: Kopier ny programfil i container

For å kopiere den nye filen til containerbanen, bruk ' docker cp : ' kommando. Her har vi kopiert ' indeks1.html '-filen til ' demo-forts ' containerens spesifiserte bane:

havnearbeider cp index1.html demo-forts: / usr / dele / nginx / html / indeks1.html

Trinn 7: Overfør beholderendringene i nytt bilde

Etter å ha gjort endringer i en beholder, er brukere pålagt å forplikte endringene til et nytt Docker-bilde. Dette bildet vil bli generert gjennom en Docker-beholder. For dette formålet, kjør ' docker commit ' kommando:

docker commit demo-cont new-demo-img

Merk: Gjør endringer i Docker-beholderen før du genererer bildet gjennom ' havnearbeider forplikte seg ” kommando er ikke obligatorisk. Brukere kan direkte bruke 'docker commit' for å generere sikkerhetskopien av beholderen ved å lage bildet.

Trinn 8: Bekreftelse

For å sjekke om bildet er opprettet eller ikke gjennom beholderen, liste ned Docker-bilder ved å bruke ' docker-bilder ' kommando:

docker-bilder

Utdataene nedenfor viser at vi har generert ' ny-demo-img ' fra ' demo-forts ' beholder:

Merk: For å skyve Docker-bildet til Docker-hub-registeret, kan brukeren også merke bildet ved å bruke ' docker tag ' kommando:

docker tag < bildenavn > < depotnavn >>< bildenavn > : < stikkord / versjon >

Trinn 9: Fjern gammel beholder

Fjern nå den eldre beholderen. For dette formålet, stopp først Docker-beholderen ved å bruke ' docker stopp ' kommando:

docker stop demo-forts

Etter å ha stoppet beholderen, bruk ' docker rm kommando for å fjerne den fra Docker:

havnearbeider rm demo-forts

Trinn 10: Kjør ny beholder fra nytt forpliktet bilde

Start nå den nye forekomsten eller Docker-beholderen ved å bruke det nylig genererte bildet gjennom ' docker run ' kommando:

docker run -s 80 : 80 --Navn demo-forts -d ny-demo-img

Nå, naviger til ' lokal vert: 80 ' port og sjekk om HTML-applikasjonen kjører effektivt eller ikke:

For å sjekke den nylig kopierte filen som er ' indeks1.html ', bruk ' http://localhost/index1.html ' URL:

Utdataene ovenfor viser at de forpliktede endringene er lagret i ' ny-demo-img ” Docker image og vi har effektivt kjørt den modifiserte beholderen.

Hvordan angi forfatteren til et bilde?

« havnearbeider forplikte seg Kommandoen støtter også forskjellige alternativer for å legge til tilleggsinformasjon sammen med forpliktede endringer, for eksempel forfatteren av de nye endringene, forplikte melding, og så videre.

For å spesifisere forfatteren av bildet som utfører de nye endringene, gå gjennom de angitte trinnene.

Trinn 1: Angi forfatteren til bildet

For å spesifisere forfatteren av bildet som gjør endringene, bruk ' -en ' eller ' -forfatter alternativ sammen med havnearbeider forplikte seg ' kommando:

havnearbeider forplikte seg -en rafia demo-forts ny-demo-img

Trinn 2: Inspiser bildet

For å bekrefte om forfatteren av bildet er angitt eller ikke, inspiser det nylig genererte bildet ved å bruke ' docker-inspiser ' kommando:

docker inspiser ny-demo-img

Utdataene viser at vi effektivt har satt forfatteren av bildet:

Hvordan angi en forpliktende melding til bildet?

For å angi commit-meldingen sammen med commit-endringer, bruk ' -m ' alternativet. Følg instruksjonene nedenfor for illustrasjon.

Trinn 1: Angi Commit Message of Image

For å angi meldingen sammen med forpliktede endringer, bruk ' docker commit -m <“melding”> ' kommando:

havnearbeider forplikte seg -en raffia -m 'Dette bildet er generert av container' demo-forts. ny-demo-img

Trinn 2: Inspiser bildet

For å sjekke commit-meldingen, inspiser bildet gjennom ' docker-inspiser ' kommando:

docker inspiser ny-demo-img

Under ' Kommentar ”-tasten, kan brukeren se commit-meldingen som vist nedenfor:

Det handler om å generere et Docker-bilde fra en beholder.

Konklusjon

For å generere et Docker-bilde fra en beholder, gjør først endringene i Docker-beholderen. Etter det, bruk ' docker commit ” kommando for å generere bildet fra beholderen. Fjern nå den eldre beholderen og start den nye forekomsten gjennom det nylig genererte bildet. Brukere kan også angi forfatternavnet til bildet ved å bruke ' -en '-alternativet og bekreft meldingen ved å bruke ' -m alternativet. Denne bloggen har illustrert hvordan du genererer bilder fra en Docker-beholder.