Kuphunzira Docker, Gawo 6: Kugwira Ntchito ndi Zambiri
M'gawo lamasiku ano la kumasulira kwazinthu zingapo za Docker, tikambirana za kugwira ntchito ndi data. Makamaka, za ma volume a Docker. Muzinthu izi, tinkayerekeza nthawi zonse njira zamapulogalamu a Docker ndi mafananidwe osiyanasiyana odyedwa. Sitipatuka pamwambowu pano. Lolani zomwe zili mu Docker zikhale zonunkhira. Pali zokometsera zambiri padziko lapansi, ndipo Docker ali ndi njira zambiri zogwirira ntchito ndi deta.
Pali njira ziwiri zopangira moyo wautali kuposa moyo wa chidebe. Njira imodzi ndiyo kugwiritsa ntchito ukadaulo wa bind mount. Ndi njira iyi, mutha kukwera, mwachitsanzo, chikwatu chamoyo weniweni pachidebe. Njira zakunja kwa Docker zithanso kugwira ntchito ndi data yosungidwa mufoda yotere. Ndi momwemo yang'anani tmpfs kukwera ndikumanga ukadaulo wa Mount.
Kukhazikitsa tmpfs ndikumanga phiri
Zoyipa zogwiritsa ntchito ukadaulo wa Bind Mount ndikuti kugwiritsa ntchito kwake kumasokoneza zosunga zobwezeretsera, kusamuka kwa data, kugawana deta pakati pazida zingapo. Ndikwabwino kugwiritsa ntchito ma voliyumu a Docker posungabe deta mosalekeza.
Voliyumu Docker
Voliyumu ndi fayilo yomwe imakhala pamakina osungira kunja kwa zotengera. Ma voliyumu amapangidwa ndikuyendetsedwa ndi Docker. Nazi zinthu zazikulu zamavoliyumu a Docker:
Iwo ndi njira yosungiramo zokhazikika za chidziwitso.
Amakhala odziyimira pawokha komanso olekanitsidwa ndi zotengera.
Akhoza kugawidwa pakati pa zotengera zosiyanasiyana.
Amakulolani kuti mukonzekere kuwerenga ndi kulemba bwino deta.
Ma voliyumu amatha kuyikidwa pazinthu zamtundu wakutali.
Iwo akhoza encrypted.
Akhoza kupatsidwa mayina.
Chidebecho chikhoza kukonzekera kuchulukitsidwa kwa voliyumu ndi deta.
Iwo ndi yabwino kuyesa.
Monga mukuwonera, ma volume a Docker ali ndi zinthu zodabwitsa. Tiyeni tikambirane m'mene tingawalenge.
Kupanga Mabuku
Ma voliyumu amatha kupangidwa pogwiritsa ntchito zopempha za Docker kapena API.
Kuyenera kudziŵika kuti pamene ntchito mbendera --mount kuchuluka kwa deta yowonjezera yomwe iyenera kufotokozedwa mu lamulo ikuwonjezeka, koma, pazifukwa zingapo, ndi bwino kugwiritsa ntchito mbendera iyi, osati --volume. Mbendera --mount ndiye njira yokhayo yomwe imakulolani kuti mugwire ntchito ndi mautumiki kapena tchulani zosankha zoyendetsa voliyumu. Komanso, mbendera iyi ndi yosavuta kugwira nayo ntchito.
M'zitsanzo zomwe zilipo za malamulo oyendetsa data a Docker, mutha kuwona zitsanzo zambiri zakugwiritsa ntchito mbendera -v. Poyesera kusintha malamulowa nokha, kumbukirani kuti mbendera --mount и --volume gwiritsani ntchito mitundu yosiyanasiyana ya parameter. Ndiko kuti, simungangosintha -v pa --mount ndi kupeza gulu logwira ntchito.
Kusiyana kwakukulu pakati --mount и --volume ndi pamene mukugwiritsa ntchito mbendera --volume magawo onse amasonkhanitsidwa pamodzi m'munda umodzi, ndi pamene ntchito --mount magawo amasiyanitsidwa.
Mukamagwira ntchito ndi --mount magawo amaimiridwa ngati mawiri amtengo wapatali, mwachitsanzo, zikuwoneka ngati key=value. Mawiriwa amasiyanitsidwa ndi koma. Nazi njira zomwe zimagwiritsidwa ntchito kwambiri --mount:
type - mtundu wa phiri. Mtengo wa kiyi yolingana ukhoza kukhala kumanga, kuchuluka kapena alireza. Tikukamba za mavoliyumu apa, ndiko kuti, tili ndi chidwi ndi mtengo wake volume.
source - phiri source. Kwa mavoliyumu otchulidwa, ili ndi dzina la voliyumuyo. Kwa mavoliyumu omwe sanatchulidwe, funguloli silinatchulidwe. Ikhoza kufupikitsidwa kuti src.
destination - njira yomwe fayilo kapena foda imayikidwa mu chidebe. Kiyi iyi ikhoza kufupikitsidwa ku dst kapena target.
Nachi chitsanzo cha ntchito --mount ndi zosankha zambiri:
docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image
Zotsatira
Nawa malamulo othandiza omwe mungagwiritse ntchito mukamagwira ntchito ndi ma Docker volumes:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
Nawu mndandanda wazomwe zimagwiritsidwa ntchito kwambiri --mount, yogwiritsidwa ntchito mwalamulo la fomu docker run --mount my_options my_image:
type=volume
source=volume_name
destination=/path/in/container
readonly
Tsopano popeza tatsiriza mndandanda wa Docker uwu, ndi nthawi yoti tinene mawu ochepa za komwe ophunzira a Docker angapiteko. pano nkhani yabwino kwambiri ya Docker. pano buku lonena za Docker (pogula bukuli, yesani kupeza kope laposachedwa). pano buku lina kwa iwo amene amaganiza kuchita ndi njira yabwino kuphunzira luso.
Wokondedwa owerenga! Ndi zida ziti za Docker zomwe mungapangire kuti oyamba kumene kuti aphunzire?