Dirbdami su kūrimo projektu programoje „Docker“, kūrėjai paprastai nori atlikti kodo pakeitimus ir matyti, kad pakeitimai iš karto atsispindi neperstatydami konteinerio. Esant tokiai situacijai, naudokite susiejimo laikiklį, kad į konteinerį įkeltumėte kodo katalogą vietiniame pagrindiniame kompiuteryje. Tai padarius, pagrindiniame kompiuteryje atlikti pakeitimai iš karto atsispindi konteinerio viduje. Be to, tai naudinga, kai konteineris ištrinamas arba atmetamas, nes duomenys neprarandami.
Šis straipsnis parodys:
Kas yra „Docker Bind“ laikikliai?
Docker bind mount leidžia vartotojams susieti konkretų failą / katalogą pagrindiniame kompiuteryje į failą / katalogą konteineryje. Tokiu būdu vartotojai gali bendrinti duomenis tarp pagrindinio kompiuterio ir sudėtinio rodinio, taip pat išsaugoti duomenis net sustabdžius arba ištrynus sudėtinį rodinį. Bet kokie failų pakeitimai bendrame kataloge arba faile matomi ir konteineryje, ir pagrindiniame kompiuteryje.
Kaip „Bind Mount“ veikia programoje „Docker“?
Paimkime pavyzdį ir pažiūrėkime, kaip „Bind-mount“ veikia „Docker“. Tarkime, kad turime tuščią katalogą ' Testas “, esantis „ C:\Docker “ vietinėje sistemoje. Dabar norime pasiekti „ Testas 'katalogo turinys toje vietoje' /app “ iš tam tikro konteinerio. Šiame pavyzdyje paleiskite konteinerį iš oficialaus „Docker“ vaizdo, t. y. „ nginx “ ir naudokite susiejimo prijungimą, kad į konteinerį būtų prijungtas konkretus katalogas iš pagrindinio kompiuterio.
Norėdami geriau suprasti, atlikite nurodytus veiksmus.
1 veiksmas: susiekite prijungimo katalogą iš pagrindinio įrenginio prie konteinerio
Pirmiausia naudokite „ docker paleisti -d –pavadinimas
dokininko bėgimas -d --vardas manoCont -į C: / Dokeris / Testas: / programa nginx: naujausia
Čia:
-
- “ -d “ parinktis naudojama konteineriui vykdyti fone.
- “ -vardas “ naudojamas konteinerio pavadinimui apibrėžti.
- “ manoCont “ yra mūsų konteinerio pavadinimas.
- “ -į “ parinktis konteineryje sukuria tomą, kuris pagrindinio kompiuterio šaltinio katalogą susieja su paskirties katalogu konteineryje.
- “ C:/Docker/Test “ yra šaltinio katalogo (vietinio kompiuterio) kelias.
- “ /app “ yra tikslinio katalogo (konteinerio) kelias.
- “ nginx: naujausias “ yra naujausias „Docker“ vaizdas:
Ši komanda sukūrė konteinerį ir leido jai pasiekti failus iš pagrindinio kompiuterio ir palengvinti duomenų patvarumo valdymą.
2 veiksmas: sukurkite failą pagrindinio kompiuterio šaltinio kataloge
Tada eikite į šaltinio katalogo kelią, ty „ C:/Docker/Test “ pagrindiniame kompiuteryje ir sukurkite jame paprasto teksto failą. Pavyzdžiui, mes sukūrėme „ Demo “ failas:
3 veiksmas: pasiekite pagrindinio kompiuterio failą konteineryje
Dabar įveskite toliau pateiktą komandą, kad pasiektumėte konteinerio turinį ir vykdytumėte komandas jame:
dokininkas vykdytojas -tai manoCont bash
Tai padarius, konteinerio korpusas atsidarys.
Po to nurodykite konteinerio turinį naudodami pateiktą komandą:
ls
Aukščiau pateiktoje ekrano kopijoje matomas visas konteinerio turinys. Pasirinkite norimą katalogą ir eikite į jį.
Peradresuoti į ' programėlė “ katalogas:
cd programėlė
Tada nurodykite „ programėlė ” katalogo turinys, skirtas patikrinti, ar jame yra vietinio kompiuterio failas:
Galima pastebėti, kad „ Demo.txt “ failas yra konteinerio viduje, ir mes galime jį pasiekti.
4 veiksmas: sukurkite failą konteinerio viduje
Tada sukurkite kitą failą konteineryje naudodami „ liesti “ komanda:
liesti naujas.txt
Mes sukūrėme „ naujas.txt “ failą.
Tada patikrinkite naujai sukurtą failą naudodami toliau pateiktą komandą:
ls
Matyti, kad failas „ naujas.txt “ buvo sėkmingai sukurtas konteinerio viduje.
5 veiksmas: patikrinkite failą vietinėje sistemoje
Galiausiai eikite į vietinio įrenginio kelią ir patikrinkite, ar „ naujas.txt “ failas pasiekiamas ar ne:
Kaip matote, „ naujas.txt “ failas yra vietiniame kompiuteryje, ir mes galime jį pasiekti. Tai rodo, kad pakeitimai taip pat atsispindi vietiniame kompiuteryje.
6 veiksmas: pašalinkite „Docker“ konteinerį
Dabar išimkite konteinerį naudodami „ dokeris rm “ komandą kartu su konteinerio pavadinimu:
dokininkas rm myCont
„ manoCont “ konteineris sėkmingai ištrintas.
7 veiksmas: įsitikinkite, kad duomenys išliko vietiniame įrenginyje
Ištrynę sudėtinį rodinį patikrinkite, ar duomenys išliko vietiniame kompiuteryje:
Kaip matote, pakeitimai išliko net ir ištrynus bind-mount konteinerį.
Išvada
„Docker bind mount“ naudojamas katalogui ar failui iš pagrindinės sistemos susieti su konteineriu. Jis sukuria ryšį tarp nurodyto katalogo arba failo pagrindiniame kompiuteryje ir konteinerio failų sistemos. Tai leidžia lengvai ir paprastai tvarkyti ar dirbti su failais, saugomais už konteinerio ribų. Bet kokie failų pakeitimai bendrame kataloge arba faile atsispindės ir priegloboje, ir sudėtiniame rodinyje. Šiame straipsnyje paaiškinta apie „Docker“ įrišimo laikiklį ir jo veikimą „Docker“.