Cum se generează o imagine Docker dintr-un container

Cum Se Genereaza O Imagine Docker Dintr Un Container



Imaginile Docker sunt una dintre componentele cheie ale platformei Docker și joacă un rol esențial în construirea, implementarea și livrarea aplicațiilor Docker în interiorul containerului. Imaginile Docker sunt șabloane sau instantanee ale containerelor care instruiesc containerul despre cum să containerizeze și să implementeze aplicația. Mii de imagini oficiale sunt disponibile în registrul Docker Hub pentru a containeriza aplicația. Cu toate acestea, utilizatorii pot crea și aceste imagini în funcție de cerințele lor folosind serviciul de scriere Dockerfile și Docker.

Uneori, utilizatorii fac modificări în setările containerului și de configurare, dar aceste modificări nu sunt comise în imaginea Docker. Pentru a salva modificările containerului în imagine sau pentru a crea copie de rezervă a containerului, utilizatorilor li se cere să creeze o nouă imagine din container. În acest scop specific, „ docker commit ” poate fi utilizată comanda.

Acest ghid va demonstra:







Ce este comanda „docker commit”?

docker commit ” Comanda este unul dintre utilitarele din linia de comandă ale Docker, care este utilizat pentru a trimite modificările și setările containerului în imaginea Docker. Este, de asemenea, utilizat pentru a crea backup-ul containerului atunci când utilizatorii trebuie să dezlebreze Docker prin eliminarea containerelor Docker. Cu toate acestea, comanda docker commit include doar fișierul container și modificările de configurare în imaginea Docker, nu va salva niciodată datele volumului care este montat cu containerul.



Sintaxă



docker commit < OPȚIUNI > < Nume-container / Container-ID > < Imagine-Nume >

Opțiuni





Următoarele opțiuni sunt utilizate cu „ docker commit ” comandă pentru a crea o imagine dintr-un container în diferite moduri:

< puternic > Opțiune puternic > td >
< td >< puternic > Descriere puternic > td >
tr >
< tr >
< td >< puternic > -A, --autor puternic > td >
< td > Este folosit pentru a specifica numele autorului care comite modificările containerului în imaginea. td >
tr >
< tr >
< td >< puternic > -c, --Schimbare puternic > td >
< td > Adăugați instrucțiunile Dockerfile pentru a efectua modificări în o imagine. td >
tr >
< tr >
< td >< puternic > -m, --mesaj puternic > td >
< td > Adăugați mesajul de confirmare sau comentariul in timp ce generarea unei imagini din container. td >
tr >
< tr >
< td >< puternic > -p, --pauză puternic > td >
< td > În timpul comiterii containerului, în mod implicit, containerul va fi oprit sau întrerupt. Pentru a opri containerul din pauză, „ < puternic > --pause= fals puternic > ” este utilizată opțiunea.

Cum se generează o imagine dintr-un container Docker?

Când utilizatorul efectuează modificări în containerul Docker direct prin shell-ul containerului sau în mod non-interactiv, aceste modificări nu modifică instantaneul containerului. Pentru a salva sau a efectua modificări, utilizatorul poate genera o nouă imagine din container folosind butonul „ docker commit ” comanda. Acest lucru este util și pentru crearea unei copii de rezervă a containerului.



Pentru a crea o imagine prin containerul Docker, parcurgeți următoarea ilustrație.

Pasul 1: Creați Dockerfile

Mai întâi, creați un fișier nou numit „ Dockerfile ” și nu adăugați nicio extensie de fișier cu numele fișierului. După aceea, inserați următoarele comenzi în „Dockerfile”

DE LA nginx:latest

COPIEAZĂ index.html / usr / acțiune / nginx / html / index.html

PUNCT DE INTRARE [ 'nginx' , '-g' , 'daemon off;' ]

Aici ' DIN ” este utilizată pentru a defini imaginea de bază a containerului, “ COPIE Comanda ” copiază fișierul de program în calea specificată în container și „ PUNCT DE INTRARE ” comanda setează executabilele implicite ale containerului.

Pasul 2: Creați fișierul program

Apoi, creați un alt fișier „ index.html ” și adăugați următorul cod HTML la fișier:

< html >

< cap >

< stil >

corp {

culoare de fundal:rgb ( 9 , 4 , 4 ) ;

}

h1 {

culoare:rgb ( 221 , 219 , 226 ) ;

font-style: italic;

}

stil >

cap >

< corp >

< h1 > Aceasta este prima pagină HTML h1 >

corp >

html >

Pasul 3: Construiți instantaneul containerului

Acum, generați instantaneul containerului din Dockerfile folosind comanda de mai jos. Aici ' -t ” opțiunea este utilizată pentru a seta numele instantaneului:

docker build -t demo-img .

Pasul 4: Rulați Snapshot pentru a porni containerul

Apoi, porniți containerul executând imaginea containerului. În acest scop, utilizați „ rulați docker ”comandă:

docker run -p 80 : 80 --Nume demo-cont -d demo-img

În comanda de mai sus, „ -p opțiunea setează portul de expunere al containerului, „ -Nume ” specifică numele containerului și „ -d ” opțiunea rulează containerul în modul detașat:

După executarea containerului, navigați la „ http://localhost:80 ” URL și verificați dacă programul containerizat este accesibil sau nu pe portul de expunere:

Rezultatul de mai sus arată că am pornit cu succes containerul.

Pasul 5: Creați un fișier de program nou

Uneori, utilizatorilor li se poate cere să adauge funcționalități suplimentare la aplicația care rulează. În acest scop, utilizatorul poate avea nevoie să facă modificări în fișierul programului sau poate adăuga fișiere suplimentare la aplicație.

În acest scop, să creăm un alt fișier numit „ index1.html ” și inserați următorul cod în fișier:

< html >

< cap >

< stil >

corp {

culoare de fundal:rgb ( 106 , 103 , 103 ) ;

}

h1 {

culoare:rgb ( 221 , 219 , 226 ) ;

font-style: italic;

}

stil >

cap >

< corp >

< h1 > Aceasta este a doua pagină HTML h1 >

corp >

html >

Pasul 6: Copiați fișierul de program nou în container

Pentru a copia noul fișier în calea containerului, utilizați „ docker cp : ” comanda. Aici, am copiat „ index1.html ' fișier la ' demo-cont ” calea specificată a containerului:

docher cp index1.html demo-cont: / usr / acțiune / nginx / html / index1.html

Pasul 7: Confirmați modificările containerului în imaginea nouă

După ce efectuează modificări într-un container, utilizatorilor li se cere să comite modificările unei noi imagini Docker. Această imagine va fi generată printr-un container Docker. În acest scop, rulați „ docker commit ”comandă:

docker commit demo-cont new-demo-img

Notă: Efectuarea de modificări în containerul Docker înainte de a genera imaginea prin „ docker commit ” comanda nu este obligatorie. Utilizatorii pot folosi direct „docker commit” pentru a genera backup-ul containerului prin crearea imaginii.

Pasul 8: Confirmare

Pentru a verifica dacă imaginea este creată sau nu prin container, enumerați imaginile Docker utilizând butonul „ imagini docker ”comandă:

imagini docker

Rezultatul de mai jos arată că am generat cu succes „ nou-demo-img ” din ” demo-cont ” container:

Notă: Pentru a împinge imaginea Docker în registrul hub-ului Docker, utilizatorul poate, de asemenea, eticheta imaginea folosind „ eticheta docker ”comandă:

eticheta docker < nume-imagine > < nume-depozit >> nume-imagine > : < etichetă / versiune >

Pasul 9: Scoateți containerul vechi

Acum, scoateți recipientul mai vechi. În acest scop, mai întâi, opriți containerul Docker folosind butonul „ docker stop ”comandă:

docker stop demo-cont

După oprirea recipientului, utilizați „ docker rm ” comandă pentru a o elimina din Docker:

docher rm demo-cont

Pasul 10: Executați un container nou de la noua imagine angajată

Acum, porniți noua instanță sau containerul Docker folosind imaginea nou generată prin intermediul „ docker run ”comandă:

docker run -p 80 : 80 --Nume demo-cont -d nou-demo-img

Acum, navigați la „ localhost:80 ” și verificați dacă aplicația HTML rulează eficient sau nu:

Pentru a verifica noul fișier copiat care este „ index1.html ”, utilizați „ http://localhost/index1.html ” URL:

Rezultatul de mai sus arată că modificările comise sunt salvate cu succes în „ nou-demo-img ” Docker imagine și am rulat efectiv containerul modificat.

Cum să setați autorul unei imagini?

docker commit ” Comanda acceptă, de asemenea, diferite opțiuni pentru a adăuga informații suplimentare, împreună cu modificările comise, cum ar fi autorul noilor modificări, mesajul de confirmare și așa mai departe.

Pentru a specifica autorul imaginii care efectuează noile modificări, parcurgeți pașii dați.

Pasul 1: Setați autorul imaginii

Pentru a specifica autorul imaginii care face modificările, utilizați „ -A ” sau ” -autor opțiunea ” împreună cu ” docker commit ”comandă:

docker commit -A rafia demo-cont new-demo-img

Pasul 2: Inspectați imaginea

Pentru a verifica dacă autorul imaginii este setat sau nu, inspectați imaginea nou generată folosind butonul „ docker inspectează ”comandă:

docker inspect new-demo-img

Rezultatul arată că am setat efectiv autorul imaginii:

Cum să setați un mesaj de confirmare a imaginii?

Pentru a seta mesajul de comitere împreună cu modificările de comitere, utilizați „ -m ' opțiune. Pentru ilustrare, urmați instrucțiunile de mai jos.

Pasul 1: Setați mesajul de confirmare al imaginii

Pentru a seta mesajul împreună cu modificările comise, utilizați „ docker commit -m <„mesaj”> ”comandă:

docker commit -A rafie -m „Această imagine este generată de container” demo-cont nou-demo-img

Pasul 2: Inspectați imaginea

Pentru a verifica mesajul de confirmare, inspectați imaginea prin intermediul „ docker inspectează ”comandă:

docker inspect new-demo-img

Sub ' cometariu ” tasta, utilizatorul poate vedea mesajul de confirmare după cum se arată mai jos:

Este vorba despre generarea unei imagini Docker dintr-un container.

Concluzie

Pentru a genera o imagine Docker dintr-un container, mai întâi, faceți modificările în containerul Docker. După aceea, utilizați „ docker commit ” comanda pentru a genera imaginea din container. Acum, eliminați containerul mai vechi și porniți noua instanță prin imaginea nou generată. Utilizatorii pot seta, de asemenea, numele autorului imaginii folosind butonul „ -A ” și trimiteți mesajul folosind opțiunea „ -m ' opțiune. Acest blog a ilustrat cum să generați imagini dintr-un container Docker.