Hva er Docker Bind Mounts?

Hva Er Docker Bind Mounts



Mens de jobber med et utviklingsprosjekt i Docker, ønsker utviklere vanligvis å gjøre endringer i koden og se endringene reflektert umiddelbart uten å gjenoppbygge beholderen. I denne situasjonen bruker du en bindingsmontering for å montere kodekatalogen på deres lokale vertsmaskin i beholderen. Når du gjør det, blir modifikasjonene gjort på verten umiddelbart reflektert inne i beholderen. Dessuten er det nyttig når beholderen slettes eller avvises siden dataene ikke går tapt.

Denne artikkelen vil illustrere:







Hva er Docker Bind Mounts?

En Docker bind mount tillater brukere å tilordne en bestemt fil/katalog på vertsmaskinen til en fil/katalog i en container. På denne måten kan brukere dele data mellom verten og beholderen, og også beholde dataene selv etter at beholderen er stoppet eller slettet. Eventuelle endringer som er gjort i filene i den delte katalogen eller filen er synlige fra både beholderen og vertsmaskinen.



Hvordan fungerer Bind Mount i Docker?

La oss ta et eksempel og se hvordan bind-mount fungerer i Docker. Anta at vi har en tom katalog ' Test ' ligger ved ' C:\Docker ' på et lokalt system. Nå ønsker vi tilgang til ' Test 'katalogens innhold på stedet' /app ” fra en bestemt beholder. I dette eksemplet, kjør en beholder fra det offisielle Docker-bildet, dvs. ' nginx ” og bruk bind-monteringen for å montere en spesifikk katalog fra vertsmaskinen til beholderen.



For en bedre forståelse, følg trinnene som følger med.





Trinn 1: Bind monteringskatalog fra vertsmaskin til container

Bruk først ' docker run -d –navn -v : ” kommando og kjør en beholder. Den binder mount-katalogen fra vertsmaskinen til beholderen:



docker run -d --Navn myCont -i C: / Docker / Test: / app nginx: siste


Her:

    • ' -d alternativet brukes til å kjøre beholderen i bakgrunnen.
    • ' -Navn ' brukes til å definere beholdernavnet.
    • ' myCont ” er containernavnet vårt.
    • ' -i alternativet oppretter et volum i beholderen som tilordner kildekatalogen på vertsmaskinen til målkatalogen i beholderen.
    • ' C:/Docker/Test ” er banen til kildekatalogen (lokal maskin).
    • ' /app ” er målkatalogen (beholder) banen.
    • ' nginx: siste ' er det siste Docker-bildet:



Denne kommandoen har opprettet en beholder og tillatt den å få tilgang til filer fra vertsmaskinen og gjør det enklere å administrere datapersistens.

Trinn 2: Opprett en fil i kildekatalogen på vertsmaskinen

Naviger deretter til kildekatalogbanen, dvs. ' C:/Docker/Test ” på vertsmaskinen og lag en ren tekstfil i den. For eksempel har vi laget en ' Demo ' fil:


Trinn 3: Få tilgang til vertsmaskinfilen inne i beholderen

Skriv nå ut kommandoen nedenfor for å få tilgang til beholderens innhold og kjøre kommandoer inne i den:

havnearbeider exec -den myCont bash



Når du gjør det, åpnes beholderskallet.

Deretter viser du innholdet til beholderen ved å bruke den angitte kommandoen:

ls



I skjermbildet ovenfor kan alt innholdet i beholderen sees. Velg ønsket katalog og naviger til den.

Omdiriger til ' app ' katalog:

cd app


List deretter opp ' app ' kataloginnhold for å bekrefte at den lokale maskinfilen er tilgjengelig i den:

ls



Det kan observeres at ' Demo.txt ”-filen er tilgjengelig inne i beholderen, og vi har tilgang til den.

Trinn 4: Opprett fil i beholderen

Deretter oppretter du en annen fil inne i en beholder ved å bruke ' ta på ' kommando:

ta på new.txt



Vi har laget en ' new.txt ' fil.

Deretter bekrefter du den nyopprettede filen ved å bruke kommandoen nedenfor:

ls



Det kan ses at filen ' new.txt ” har blitt opprettet i beholderen.

Trinn 5: Bekreft filen på det lokale systemet

Til slutt, naviger til den lokale maskinbanen og sjekk om ' new.txt filen er tilgjengelig eller ikke:


Som du kan se, ' new.txt filen er tilgjengelig på den lokale maskinen, og vi har tilgang til den. Dette indikerer at endringene også reflekteres på den lokale maskinen.

Trinn 6: Fjern Docker Container

Fjern nå beholderen via ' docker rm kommando sammen med beholdernavnet:

havnearbeider rm myCont



« myCont '-beholderen er slettet.

Trinn 7: Sørg for at data vedvarer på den lokale maskinen

Etter å ha slettet beholderen, kontroller om dataene vedvarte på den lokale maskinen på ikke:


Som du kan se, vedvarte endringene selv etter sletting av bind-mount-beholderen.

Konklusjon

Docker bind mount brukes til å kartlegge en katalog eller fil fra vertssystemet til containeren. Den oppretter en kobling mellom den angitte katalogen eller filen på verten og beholderens filsystem. Det gjør det enkelt og enkelt å håndtere eller arbeide med filer som er lagret utenfor containeren. Eventuelle endringer som gjøres i filene i den delte katalogen eller filen vil gjenspeiles i både verten og beholderen. Denne artikkelen har forklart om Docker bind mount og hvordan det fungerer i Docker.