Hvad er Docker Bind Mounts?

Hvad Er Docker Bind Mounts



Mens de arbejder på et udviklingsprojekt i Docker, ønsker udviklere normalt at foretage ændringer i koden og se ændringerne afspejlet med det samme uden at genopbygge containeren. I denne situation skal du bruge en bind-mount til at montere kodebiblioteket på deres lokale værtsmaskine i containeren. Når du gør det, afspejles de ændringer, der er foretaget på værten, straks inde i beholderen. Desuden er det nyttigt, når beholderen slettes eller afvises, da dataene ikke går tabt.

Denne artikel vil illustrere:







Hvad er Docker Bind Mounts?

En Docker bind mount tillader brugere at tilknytte en bestemt fil/mappe på værtsmaskinen til en fil/mappe i en container. På denne måde kan brugere dele data mellem værten og containeren og også bevare dataene, selv efter containeren er stoppet eller slettet. Eventuelle ændringer af filer i den delte mappe eller fil er synlige fra både containeren og værtsmaskinen.



Hvordan fungerer Bind Mount i Docker?

Lad os tage et eksempel og se, hvordan bind-mount fungerer i Docker. Antag, at vi har en tom mappe ' Prøve ” placeret på ” C:\Docker ” på et lokalt system. Nu vil vi have adgang til ' Prøve ' bibliotekets indhold på lokationen ' /app ” fra en bestemt beholder. I dette eksempel skal du køre en container fra det officielle Docker-billede, dvs. nginx ” og brug bind-mount til at montere en specifik mappe fra værtsmaskinen til containeren.



For en bedre forståelse skal du følge de medfølgende trin.





Trin 1: Bind Mount Directory fra værtsmaskine til container

Først skal du bruge ' docker run -d –name -v : ” kommando og kør en container. Det binder mount-mappen fra værtsmaskinen til containeren:



docker-løb -d --navn minCont -i C: / Docker / Prøve: / app nginx: nyeste


Her:

    • -d ” mulighed bruges til at udføre containeren i baggrunden.
    • -navn ” bruges til at definere containernavnet.
    • minCont ” er vores containernavn.
    • -i ”-optionen opretter en volumen i containeren, der tilknytter kildebiblioteket på værtsmaskinen til målbiblioteket i containeren.
    • C:/Docker/Test ” er stien til kildebiblioteket (lokal maskine).
    • /app ” er målbiblioteksstien (beholder).
    • nginx:nyeste ” er det seneste Docker-billede:



Denne kommando har oprettet en container og givet den adgang til filer fra værtsmaskinen og gør det nemmere at administrere datapersistens.

Trin 2: Opret en fil i kildekataloget på værtsmaskinen

Naviger derefter til kildemappestien, dvs. ' C:/Docker/Test ” på værtsmaskinen og opret en almindelig tekstfil i den. For eksempel har vi lavet en ' Demo ' fil:


Trin 3: Få adgang til værtsmaskinfilen inde i containeren

Skriv nu nedenstående kommando for at få adgang til containerens indhold og køre kommandoer inde i den:

havnearbejder exec -det minCont bash



Når du gør det, åbnes beholderskallen.

Derefter skal du liste beholderens indhold ved hjælp af den medfølgende kommando:

ls



I ovenstående skærmbillede kan alt indholdet af beholderen ses. Vælg den ønskede mappe og naviger til den.

Omdiriger til ' app ” bibliotek:

cd app


Angiv derefter ' app ” mappeindhold for at bekræfte, at den lokale maskinfil er tilgængelig i den:

ls



Det kan konstateres, at ' Demo.txt ”-filen er tilgængelig inde i containeren, og vi kan få adgang til den.

Trin 4: Opret fil i containeren

Derefter skal du oprette en anden fil inde i en container ved hjælp af ' røre ved kommando:

røre ved new.txt



Vi har lavet en ' new.txt ' fil.

Bekræft derefter den nyoprettede fil ved hjælp af kommandoen nedenfor:

ls



Det kan ses, at filen ' new.txt ” er blevet oprettet inde i containeren.

Trin 5: Bekræft fil på det lokale system

Til sidst skal du navigere til den lokale maskinsti og kontrollere, om ' new.txt ' fil er tilgængelig eller ej:


Som du kan se, ' new.txt ” fil er tilgængelig på den lokale maskine, og vi kan få adgang til den. Dette indikerer, at ændringerne også afspejles på den lokale maskine.

Trin 6: Fjern Docker Container

Fjern nu beholderen via ' havnearbejder rm kommando sammen med containernavnet:

havnearbejder rm minCont



Det ' minCont ” container er blevet slettet.

Trin 7: Sørg for, at data forbliver på den lokale maskine

Efter sletning af beholderen skal du kontrollere, om dataene forbliver på den lokale maskine på ikke:


Som du kan se, fortsatte ændringerne, selv efter sletning af bind-mount-beholderen.

Konklusion

Docker bind mount bruges til at kortlægge en mappe eller fil fra værtssystemet til containeren. Det opretter et link mellem den angivne mappe eller fil på værten og containerens filsystem. Det gør det nemt og enkelt at håndtere eller arbejde med filer, der er gemt uden for containeren. Eventuelle ændringer af filer i den delte mappe eller fil vil blive afspejlet i både værten og containeren. Denne artikel har forklaret om Docker bind mount og dets funktion i Docker.