Ce este Docker Bind Mounts?

Ce Este Docker Bind Mounts



În timp ce lucrează la un proiect de dezvoltare în Docker, dezvoltatorii doresc de obicei să facă modificări în cod și să vadă modificările reflectate imediat, fără a reconstrui containerul. În această situație, utilizați o montare de legătură pentru a monta directorul de cod pe mașina gazdă locală în container. Făcând acest lucru, modificările făcute pe gazdă sunt reflectate imediat în interiorul containerului. Mai mult, este util atunci când containerul este șters sau respins deoarece datele nu se pierd.

Acest articol va ilustra:







Ce este Docker Bind Mounts?

O montare de legătură Docker permite utilizatorilor să mapeze un anumit fișier/director de pe mașina gazdă la un fișier/director dintr-un container. În acest fel, utilizatorii pot partaja date între gazdă și container și, de asemenea, pot persista datele chiar și după ce containerul este oprit sau șters. Orice modificări aduse fișierelor din directorul sau fișierul partajat sunt vizibile atât din container, cât și din mașina gazdă.



Cum funcționează Bind Mount în Docker?

Să luăm un exemplu și să vedem cum funcționează bind-mount în Docker. Să presupunem că avem un director gol „ Test ' situat la ' C:\Docker ” pe un sistem local. Acum, vrem să accesăm „ Test „conținutul directorului la locație” /app ” din interiorul unui anumit container. În acest exemplu, rulați un container din imaginea oficială Docker, adică „ nginx ” și utilizați bind mount-ul pentru a monta un anumit director din mașina gazdă în container.



Pentru o mai bună înțelegere, urmați pașii furnizați.





Pasul 1: Legați directorul de montare de la mașina gazdă la container

În primul rând, utilizați „ rulare docker -d –name -v : ” comanda și rulează un container. Leagă directorul de montare de la mașina gazdă la container:



docker run -d --Nume myCont -în C: / Docher / Test: / aplicația nginx:latest


Aici:

    • -d ” este folosită pentru a executa containerul în fundal.
    • -Nume ” este folosit pentru a defini numele containerului.
    • myCont ” este numele nostru de container.
    • -în ” opțiunea creează un volum în container care mapează directorul sursă de pe mașina gazdă la directorul țintă din container.
    • C:/Docker/Test ” este calea directorului sursă (mașină locală).
    • /app ” este calea directorului țintă (containerului).
    • nginx: cel mai recent ” este cea mai recentă imagine Docker:



Această comandă a creat un container și i-a permis să acceseze fișierele de pe mașina gazdă și facilitează gestionarea persistenței datelor.

Pasul 2: Creați un fișier în directorul sursă pe mașina gazdă

Apoi, navigați la calea directorului sursă, adică „ C:/Docker/Test ” pe mașina gazdă și creați un fișier text simplu în el. De exemplu, am creat un „ Demo ” fișier:


Pasul 3: Accesați fișierul mașinii gazdă din interiorul containerului

Acum, tastați comanda furnizată mai jos pentru a accesa conținutul containerului și a executa comenzi în interiorul acestuia:

docher exec -aceasta myCont bash



După ce faceți acest lucru, carcasa containerului se va deschide.

După aceea, enumerați conținutul containerului folosind comanda furnizată:

ls



În captura de ecran de mai sus, poate fi văzut tot conținutul containerului. Alegeți directorul dorit și navigați la el.

Redirecționează către „ aplicația ” director:

CD aplicația


Apoi, enumerați „ aplicația ” conținutul directorului pentru a verifica că fișierul mașinii locale este disponibil în acesta:

ls



Se poate observa că „ Demo.txt ” este disponibil în interiorul containerului și îl putem accesa.

Pasul 4: Creați fișierul în interiorul containerului

Apoi, creați un alt fișier în interiorul unui container utilizând „ atingere ”comandă:

atingere nou.txt



Am creat un „ nou.txt ” dosar.

Apoi, verificați fișierul nou creat folosind comanda de mai jos:

ls



Se poate observa că fișierul „ nou.txt ” a fost creat cu succes în interiorul containerului.

Pasul 5: Verificați fișierul pe sistemul local

În cele din urmă, navigați la calea mașinii locale și verificați dacă „ nou.txt ” fișierul este disponibil sau nu:


După cum puteți vedea, „ nou.txt ” este disponibil pe mașina locală și îl putem accesa. Acest lucru indică faptul că modificările se reflectă și pe mașina locală.

Pasul 6: Eliminați containerul Docker

Acum, scoateți recipientul prin intermediul „ docker rm ”comandă împreună cu numele containerului:

docher rm myCont



myCont ” container a fost șters cu succes.

Pasul 7: Asigurați-vă că datele persistă pe mașina locală

După ștergerea containerului, verificați dacă datele au persistat pe computerul local pe nu:


După cum puteți vedea, modificările au persistat chiar și după ștergerea containerului bind-mount.

Concluzie

Docker bind mount este folosit pentru a mapa un director sau un fișier din sistemul gazdă în container. Acesta creează o legătură între directorul sau fișierul specificat de pe gazdă și sistemul de fișiere al containerului. Face ușoară și simplă gestionarea sau lucrul cu fișierele care sunt stocate în afara containerului. Orice modificări aduse fișierelor din directorul sau fișierul partajat se vor reflecta atât în ​​gazdă, cât și în container. Acest articol a explicat despre montarea de legătură Docker și funcționarea sa în Docker.