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 kan du bruke en bind montering for å montere kodekatalogen på sin lokale vertsmaskin i beholderen. Når du gjør det, reflekteres endringene som er gjort på verten umiddelbart inne i beholderen. Dessuten er det nyttig når beholderen blir slettet eller avvist da dataene ikke går tapt.
Denne artikkelen vil illustrere:
Hva er docker bind monteringer?
En Docker Bind Mount tillater brukere å kartlegge 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 vedvare også dataene selv etter at beholderen er stoppet eller slettet. Eventuelle endringer som er gjort i filer i den delte katalogen eller filen er synlige fra både beholderen og vertsmaskinen.
Hvordan bind montering fungerer i docker?
La oss ta et eksempel og se hvordan bindmontering fungerer i Docker. Anta at vi har en tom katalog “Test" ligger ved "C: \ Docker”På et lokalt system. Nå vil vi få tilgang til “Test”Katalogens innhold på stedet”/app”Fra en bestemt beholder. I dette eksemplet kan du kjøre en beholder fra det offisielle Docker -bildet i.e., “nginx”Og bruk bindingsmonteringen til å montere en spesifikk katalog fra vertsmaskinen inn i beholderen.
For en bedre forståelse, følg de medfølgende trinnene.
Trinn 1: Bind monteringskatalog fra vertsmaskin til container
Først, bruk "docker run -d -name -v: ”Kommander og kjør en beholder. Den binder monteringskatalogen fra vertsmaskinen til beholderen:
Docker Run -D -Navn Mycont -V C:/Docker/Test:/App Nginx: Siste
Her:
Denne kommandoen har opprettet en beholder og tillatt den å få tilgang til filer fra vertsmaskinen og gjøre det lettere å administrere datautholdenhet.
Trinn 2: Opprett en fil i kildekatalogen på vertsmaskinen
Naviger deretter til kildekatalogstien I.e., “C:/docker/test”På vertsmaskinen og lag en vanlig tekstfil i den. For eksempel har vi laget en "Demo”Fil:
Trinn 3: Få tilgang til vertsmaskinfilen inne i beholderen
Skriv ut kommandoen nedenfor for å få tilgang til beholderens innhold og kjøre kommandoer inni den:
Docker Exec -Det Mycont Bash
Når du gjør det, vil containerskallet åpne.
Etter det, liste opp containerens innhold ved hjelp av den oppgitte kommandoen:
ls
I skjermbildet ovenfor kan alt innholdet i beholderen sees. Velg ønsket katalog og naviger til den.
Omdirigere til “app”Katalog:
CD -app
Liste deretter "app”Kataloginnhold for å bekrefte den lokale maskinfilen er tilgjengelig i den:
ls
Det kan observeres at "Demo.tekst”Fil er tilgjengelig inne i beholderen, og vi har tilgang til den.
Trinn 4: Opprett fil inne i beholderen
Deretter oppretter du en annen fil i en beholder ved hjelp av "ta på”Kommando:
berør nytt.tekst
Vi har laget en "ny.tekst”Fil.
Kontroller deretter den nyopprettede filen ved hjelp av kommandoen nedenfor:
ls
Det kan sees at filen “ny.tekst”Er blitt opprettet med hell inne i beholderen.
Trinn 5: Bekreft fil på det lokale systemet
Til slutt, naviger til den lokale maskinstien og sjekk om "ny.tekst”Fil er tilgjengelig eller ikke:
Som du kan se, “ny.tekst”Fil er tilgjengelig på den lokale maskinen, og vi har tilgang til den. Dette indikerer at modifikasjonene også reflekteres over den lokale maskinen.
Trinn 6: Fjern Docker -beholderen
Fjern nå beholderen via "Docker RM”Kommando sammen med containernavnet:
Docker RM Mycont
“Mycont”Container er slettet med hell.
Trinn 7: Forsikre deg om at data vedvarte på den lokale maskinen
Etter å ha slettet beholderen, må du bekrefte om dataene vedvarte på den lokale maskinen på ikke:
Som du ser, vedvarte endringene selv etter å ha slettet bindmonteringsbeholderen.
Konklusjon
Docker Bind Mount brukes til å kartlegge en katalog eller fil fra vertssystemet inn i beholderen. Den oppretter en kobling mellom den spesifiserte katalogen eller filen på verten og beholderens filsystem. Det gjør det enkelt og enkelt å håndtere eller jobbe med filer som er lagret utenfor beholderen. Eventuelle endringer som er gjort i filer i den delte katalogen eller filen vil gjenspeiles både i verten og containeren. Denne artikkelen har forklart om Docker Bind Mount og dens arbeid i Docker.