I-Learning Docker, Ingxenye 6: Ukusebenza Ngedatha

Engxenyeni yanamuhla yokuhunyushwa kochungechunge lwezinto ezisetshenziswayo mayelana ne-Docker, sizokhuluma ngokusebenza nedatha. Ikakhulukazi, mayelana namavolumu e-Docker. Kulezi zinto zokwakha, sasihlale siqhathanisa izindlela zokuhlela ze-Docker nezifaniso ezihlukahlukene ezidliwayo. Ngeke siphambuke kuleli siko lalapha. Vumela idatha eku-Docker ibe izinongo. Ziningi izinongo emhlabeni, futhi i-Docker inezindlela eziningi zokusebenza ngedatha.

Ingxenye 1: Okuyisisekelo
Ingxenye 2: imigomo nemiqondo
Ingxenye 3: I-Dockerfiles
Ingxenye 4: Ukunciphisa usayizi wezithombe nokusheshisa ukuhlanganiswa kwazo
Ingxenye 5: imiyalo
Ingxenye 6: ukusebenza ngedatha

I-Learning Docker, Ingxenye 6: Ukusebenza Ngedatha

Sicela uqaphele ukuthi le nto yalungiswa kusetshenziswa inguqulo yenjini ye-Docker engu-18.09.1 ​​kanye nenguqulo ye-API 1.39.

Idatha ku-Docker ingagcinwa okwesikhashana noma unomphela. Ake siqale ngedatha yesikhashana.

Ukugcinwa kwedatha yesikhashana

Kunezindlela ezimbili zokuphatha idatha yesikhashana ezitsheni ze-Docker.

Ngokuzenzakalelayo, amafayela adalwe uhlelo lokusebenza olusebenza esitsheni agcinwa kusendlalelo sesiqukathi esibhalekayo. Ukuze lo mshini usebenze, akukho okukhethekile okudingeka kumiswe. Kuvele kushibhile futhi kujabule. Uhlelo lokusebenza ludinga nje ukulondoloza idatha futhi luqhubeke nokwenza into yalo. Nokho, ngemva kokuba isiqukathi singasekho, idatha elondolozwe ngendlela elula kanjalo nayo izonyamalala.

Ukugcinwa kwefayela kwesikhashana ku-Docker kungenye isixazululo esifanele izimo lapho udinga izinga eliphezulu lokusebenza kunalokho okufezwayo usebenzisa indlela evamile yokugcina idatha yesikhashana. Uma ungadingi idatha yakho ukuthi igcinwe isikhathi eside kunesiqukathi esikhona, ungaxhuma kusiqukathi se-tmpfs - isitolo solwazi sesikhashana esisebenzisa i-RAM yomsingathi. Lokhu kuzosheshisa ukwenziwa komsebenzi wokubhala nokufunda idatha.

Ngokuvamile kwenzeka ukuthi idatha idinga ukugcinwa ngisho nangemva kokuba isiqukathi singasekho. Ukuze senze lokhu, sidinga izindlela zokugcina idatha eziqhubekayo.

Ukugcinwa kwedatha okuqhubekayo

Kunezindlela ezimbili zokwenza impilo yedatha ibe yinde kunempilo yesiqukathi. Enye indlela ukusebenzisa ubuchwepheshe be-bind mount. Ngale ndlela, ungakwazi ukukhweza, isibonelo, ifolda yempilo yangempela esitsheni. Izinqubo ezingaphandle kwe-Docker zizokwazi nokusebenza nedatha egcinwe kufolda enjalo. Kanjalo bheka ama-tmpfs akhweza futhi abophe ubuchwepheshe be-mount.

I-Learning Docker, Ingxenye 6: Ukusebenza Ngedatha
Ukukhweza ama-tmpfs bese ubopha i-mount

Ububi bokusebenzisa ubuchwepheshe be-bind mount ukuthi ukusetshenziswa kwayo kwenza isipele sedatha sibe nzima, ukuthuthwa kwedatha, ukwabelana ngedatha phakathi kweziqukathi ezimbalwa. Kungcono kakhulu ukusebenzisa amavolumu e-Docker ukugcina idatha eqhubekayo.

I-Docker yevolumu

Ivolumu iyisistimu yefayela etholakala emshinini womsingathi ngaphandle kweziqukathi. Amavolumu adalwa futhi aphethwe yi-Docker. Nazi izakhiwo eziyinhloko zamavolumu e-Docker:

  • Ziyindlela yokugcina ulwazi unomphela.
  • Zizimele futhi zihlukaniswe neziqukathi.
  • Zingabiwa phakathi kweziqukathi ezahlukene.
  • Zikuvumela ukuthi uhlele ukufundwa nokubhala kahle kwedatha.
  • Amavolumu angafakwa kuzinsiza zomhlinzeki wamafu okude.
  • Angabethelwa.
  • Bangabizwa ngamagama.
  • Isiqukathi singahlela ukugcwala kwangaphambili kwevolumu ngedatha.
  • Zilungele ukuhlolwa.

Njengoba ubona, imiqulu ye-Docker inezakhiwo ezimangalisayo. Ake sikhulume ngendlela yokuwadala.

Ukudala Amavolumu

Amavolumu angadalwa kusetshenziswa izicelo ze-Docker noma ze-API.

Nawu umyalo ku-Dockerfile okuvumela ukuthi udale ivolumu lapho uqala isiqukathi.

VOLUME /my_volume

Lapho usebenzisa umyalo ofanayo, i-Docker, ngemva kokudala isitsha, izodala ivolumu equkethe idatha esivele ikhona endaweni eshiwo. Qaphela ukuthi uma udala ivolumu usebenzisa i-Dockerfile, lokhu akukukhululi esidingweni sokucacisa indawo yokukhweza yevolumu.

Ungakwazi futhi ukudala amavolumu ku-Dockerfile usebenzisa ifomethi ye-JSON.

Ngaphezu kwalokho, amavolumu angadalwa kusetshenziswa amathuluzi omugqa womyalo ngenkathi isiqukathi sisebenza.

Ukusebenza ngamavolumu avela kulayini womyalo

▍Ukwenziwa kwevolumu

Ungakha ivolumu ezimele ngomyalo olandelayo:

docker volume create —-name my_volume

▍Thola ulwazi mayelana namavolumu

Ukubuka uhlu lwamavolumu e-Docker, sebenzisa umyalo olandelayo:

docker volume ls

Ungahlola ivolumu ethile kanje:

docker volume inspect my_volume

▍Ukususa ivolumu

Ungasusa ivolumu efana nalena:

docker volume rm my_volume

Ukuze ususe wonke amavolumu angasetshenziswa yiziqukathi, ungasebenzisa umyalo olandelayo:

docker volume prune

Ngaphambi kokususa amavolumu, i-Docker izokucela ukuthi uqinisekise lo msebenzi.

Uma ivolumu ihlotshaniswa nesiqukathi, leyo volumu ayikwazi ukususwa kuze kube yilapho isiqukathi esihambisanayo sicishiwe. Ngesikhathi esifanayo, noma ngabe isitsha sisusiwe, i-Docker ayikuqondi lokhu ngaso sonke isikhathi. Uma lokhu kwenzeka, ungasebenzisa umyalo olandelayo:

docker system prune

Yenzelwe ukuhlanza izinsiza ze-Docker. Ngemva kokwenza lo myalo, kufanele ukwazi ukususa amavolumu isimo sawo besikade singalungile.

Amafulegi --mount kanye --volume

Ukusebenza ngamavolumu, uma ubiza umyalo docker, ngokuvamile uzodinga ukusebenzisa amafulegi. Isibonelo, ukuze udale ivolumu ngesikhathi sokudalwa kweziqukathi, ungasebenzisa lokhu kwakha:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

Ezikhathini zasendulo (kuze kube ngu-2017), ifulegi lalidumile --volume. Ekuqaleni, leli fulegi (lingasetshenziswa futhi ngendlela efushanisiwe, bese libukeka -v) yayisetshenziselwa iziqukathi ezizimele, kanye nefulegi --mount - endaweni ye-Docker Swarm. Kodwa-ke, kusukela ku-Docker 17.06, ifulegi --mount ingasetshenziswa kunoma yisiphi isimo.

Kufanele kuqashelwe ukuthi uma usebenzisa ifulege --mount inani ledatha eyengeziwe okufanele icaciswe kumyalo inyuka, kodwa, ngenxa yezizathu ezimbalwa, kungcono ukusebenzisa leli fulegi elithile, hhayi --volume. Hlaba umkhosi --mount iyona ndlela kuphela ekuvumela ukuthi usebenze nezinsizakalo noma ucacise izinketho zomshayeli wevolumu. Futhi, leli fulegi kulula ukusebenza ngalo.

Ezibonelweni ezikhona zemiyalo yokukhohlisa idatha ye-Docker, ungabona izibonelo eziningi zokusetshenziswa kwefulegi -v. Uma uzama ukuzivumelanisa le miyalo ngokwakho, khumbula ukuthi amafulegi --mount и --volume sebenzisa amafomethi epharamitha ahlukene. Okusho ukuthi, awukwazi ukumane ubeke esikhundleni -v on --mount futhi uthole ithimba elisebenzayo.

Umehluko omkhulu phakathi --mount и --volume yilokho lapho usebenzisa ifulege --volume wonke amapharamitha aqoqwa ndawonye endaweni eyodwa, nalapho usebenzisa --mount amapharamitha ahlukene.

Lapho usebenza ne- --mount amapharamitha amelwe njengamapheya enani elingukhiye, okungukuthi, kubukeka sengathi key=value. Lawa mapheya ahlukaniswa ngokhefana. Nazi izinketho ezivame ukusetshenziswa --mount:

  • type - uhlobo lokukhweza. Inani lokhiye ohambelanayo lingaba bopha, ivolumu noma tmpfs. Sikhuluma ngamavolumu lapha, okungukuthi, sinesithakazelo ku-value volume.
  • source - mount umthombo. Kumavolumu aqanjwe igama, leli igama levolumu. Kumavolumu angashiwongo, lo khiye awucacisiwe. Ingafushaniswa ukuze ithi src.
  • destination - indlela okufakwe kuyo ifayela noma ifolda esitsheni. Lo khiye ungafushaniswa ukuze uthi dst noma target.
  • readonly - inyusa ivolumu ehlosiwe ukufunda kuphela. Ukusetshenziswa kwalo khiye kungokuzithandela, futhi alikho inani elinikezwe lona.

Nasi isibonelo sokusebenzisa --mount ngezinketho eziningi:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

Imiphumela

Nansi imiyalo ewusizo ongayisebenzisa lapho usebenza namavolumu e-Docker:

  • docker volume create
  • docker volume ls
  • docker volume inspect
  • docker volume rm
  • docker volume prune

Nalu uhlu lwezinketho ezisetshenziswa kakhulu --mount, kusebenza ngomyalo wefomu docker run --mount my_options my_image:

  • type=volume
  • source=volume_name
  • destination=/path/in/container
  • readonly

Manje njengoba sesiluqedile lolu chungechunge lwe-Docker, sekuyisikhathi sokusho amagama ambalwa mayelana nokuthi abafundi be-Docker bangaya kuphi ngokulandelayo. Lapha isihloko esihle mayelana ne-Docker. Lapha incwadi emayelana ne-Docker (uma uthenga le ncwadi, zama ukuthola uhlelo lwakamuva lwayo). Lapha enye incwadi yalabo abacabanga ukuthi ukuzijwayeza kuyindlela engcono kakhulu yokufunda ubuchwepheshe.

Bafundi abathandekayo! Yiziphi izinto ze-Docker ongancoma ukuthi abaqalayo bazifunde?

I-Learning Docker, Ingxenye 6: Ukusebenza Ngedatha

Source: www.habr.com

Engeza amazwana