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'?
- Hvordan generere et bilde fra en Docker-beholder?
- Hvordan angi forfatteren til et bilde?
- Hvordan stille inn forpliktelsesmeldingen til bildet?
- Konklusjon
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:nyesteCOPY 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
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
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
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-bilderUtdataene 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
Etter å ha stoppet beholderen, bruk ' docker rm
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
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”>
Trinn 2: Inspiser bildet
For å sjekke commit-meldingen, inspiser bildet gjennom ' docker-inspiser
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