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
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:
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.