Ho ithuta Docker, Karolo ea 6: Ho sebetsa ka Lintlha

Karolong ea kajeno ea phetolelo ea letoto la lisebelisoa mabapi le Docker, re tla bua ka ho sebetsa le data. Haholo-holo, mabapi le meqolo ea Docker. Lisebelisoa tsena, re ne re lula re bapisa mekhoa ea mananeo a Docker le lipapiso tse fapaneng tse jeoang. Ha re na ho kheloha moetlong ona mona. Etsa hore data ho Docker e be linoko. Ho na le linoko tse ngata lefatšeng, 'me Docker e na le mekhoa e mengata ea ho sebetsa ka data.

Karolo ea 1: Lintho tsa Motheo
Karolo ea 2: lipehelo le maikutlo
Karolo ea 3: Dockerfiles
Karolo ea 4: Ho fokotsa boholo ba litšoantšo le ho potlakisa kopano ea tsona
Karolo ea 5: litaelo
Karolo ea 6: Ho sebetsa ka data

Ho ithuta Docker, Karolo ea 6: Ho sebetsa ka Lintlha

Ka kopo elelloa hore thepa ena e hlophisitsoe ho sebelisoa mofuta oa enjene ea Docker 18.09.1 ​​le mofuta oa API 1.39.

Lintlha ho Docker li ka bolokoa ka nakoana kapa ka ho sa feleng. Ha re qaleng ka data ea nakoana.

Polokelo ea data ea nakoana

Ho na le mekhoa e 'meli ea ho laola data ea nakoana ka har'a lijana tsa Docker.

Ka ho sa feleng, lifaele tse entsoeng ke sesebelisoa se sebetsang ka har'a sets'oants'o li bolokiloe ka har'a setshelo se ngoloang. E le hore mochine ona o sebetse, ha ho letho le khethehileng le lokelang ho hlophisoa. E fella ka theko e tlaase le e thabileng. Sesebelisoa se hloka feela ho boloka data le ho tsoela pele ho iketsetsa lintho. Leha ho le joalo, ka mor'a hore setshelo se khaotse ho ba teng, data e bolokiloeng ka tsela e bonolo joalo le eona e tla nyamela.

Ho boloka lifaele tsa nakoana ho Docker ke tharollo e 'ngoe e loketseng maemo ao ho ona o hlokang boemo bo phahameng ba ts'ebetso ho feta se ka finyelloang ka mokhoa o tloaelehileng oa ho boloka data oa nakoana. Haeba o sa hloke hore data ea hau e bolokoe nako e telele ho feta setshelo se teng, o ka hokela ho tmpfs ea sets'oants'o - lebenkele la litaba la nakoana le sebelisang RAM ea moamoheli. Sena se tla potlakisa ts'ebetso ea ts'ebetso ea ho ngola le ho bala data.

Hangata ho etsahala hore data e lokela ho bolokoa le ka mor'a hore setshelo se khaotse ho ba teng. Ho etsa sena, re hloka mekhoa e tsitsitseng ea ho boloka data.

Ho boloka boitsebiso bo tsitsitseng

Ho na le mekhoa e 'meli ea ho etsa hore data e be telele ho feta bophelo ba setshelo. Mokhoa o mong ke ho sebelisa theknoloji ea bind mount. Ka mokhoa ona, o ka beha, mohlala, foldara ea bophelo ba 'nete ho setshelo. Mekhoa e kantle ho Docker e tla khona ho sebetsa le data e bolokiloeng foldareng e joalo. Ho joalo sheba tmpfs e phahamisa le ho tlama theknoloji ea mount.

Ho ithuta Docker, Karolo ea 6: Ho sebetsa ka Lintlha
Ho phahamisa li-tmpfs le ho tlama thaba

Mathata a ho sebelisa theknoloji ea bind mount ke hore ts'ebeliso ea eona e thatafatsa bekapo ea data, phalliso ea data, ho arolelana data har'a lijana tse 'maloa. Ho molemo haholo ho sebelisa li-volume tsa Docker bakeng sa polokelo ea data e phehellang.

Li-volumes tsa Docker

Bolumo ke sistimi ea faele e fumanehang mochining o amohelang kantle ho linkho. Li-volumes li entsoe ebile li laoloa ke Docker. Mona ke thepa ea mantlha ea meqolo ea Docker:

  • Ke mokhoa oa ho boloka boitsebiso bo sa feleng.
  • Li ikemetse ebile li arohane le lijana.
  • Li ka arolelanoa lipakeng tsa lijana tse fapaneng.
  • Li u lumella ho hlophisa ho bala le ho ngola hantle ha data.
  • Li-volumes li ka behoa mehloling ea mofani oa maru o hole.
  • Li ka ngolisoa.
  • Ba ka fuoa mabitso.
  • Sets'oants'o se ka hlophisa hore ho be le palo ea batho pele ho palo e nang le data.
  • Li loketse tlhahlobo.

Joalokaha u bona, meqolo ea Docker e na le thepa e makatsang. A re bue ka mokhoa oa ho li bōpa.

Ho Etsa Meqolo

Li-volumes li ka etsoa ho sebelisoa likopo tsa Docker kapa API.

Mona ke taelo ho Dockerfile e u lumellang hore u thehe molumo ha u qala setshelo.

VOLUME /my_volume

Ha u sebelisa taelo e tšoanang, Docker, ka mor'a ho theha setshelo, e tla etsa molumo o nang le boitsebiso bo seng bo ntse bo le teng sebakeng se boletsoeng. Hlokomela hore haeba u theha molumo u sebelisa Dockerfile, sena ha se u imolle tlhokahalong ea ho hlakisa sebaka sa bophahamo ba molumo.

U ka boela ua etsa li-volumes ho Dockerfile u sebelisa sebopeho sa JSON.

Ntle le moo, li-volumes li ka etsoa ho sebelisoa lisebelisoa tsa line line ha setshelo se ntse se sebetsa.

Ho sebetsa ka li-volumes ho tloha molaong oa taelo

▍ Ho etsa molumo

U ka etsa molumo o ikemetseng ka taelo e latelang:

docker volume create —-name my_volume

▍ Fumana boitsebiso bo mabapi le meqolo

Ho sheba lenane la meqolo ea Docker, sebelisa taelo e latelang:

docker volume ls

U ka hlahloba molumo o itseng o kang ona:

docker volume inspect my_volume

▍Ho hlakola molumo

O ka hlakola molumo o kang ona:

docker volume rm my_volume

Bakeng sa ho tlosa mefuta eohle e sa sebelisoeng ke lijana, o ka sebelisa taelo e latelang:

docker volume prune

Pele o hlakola lipalo, Docker e tla u kopa ho netefatsa ts'ebetso ena.

Haeba molumo o amahanngoa le setshelo, molumo oo o ke ke oa hlakoloa ho fihlela setshelo se tsamaisanang le sona se hlakotsoe. Ka nako e ts'oanang, leha setshelo se tlosoa, Docker ha e utloisise sena kamehla. Haeba sena se etsahala, o ka sebelisa taelo e latelang:

docker system prune

E etselitsoe ho hloekisa lisebelisoa tsa Docker. Ka mor'a ho phethahatsa taelo ena, u lokela ho khona ho hlakola meqolo eo boemo ba eona bo neng bo sa nepahala pele.

Lifolakha tsa --mount le --volume

Ho sebetsa ka meqolo, ha o letsetsa taelo docker, hangata o tla hloka ho sebelisa lifolakha. Mohlala, ho theha molumo nakong ea ho theha setshelo, o ka sebelisa moaho ona:

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

Mehleng ea boholo-holo (ho fihlela 2017), folakha e ne e tumme --volume. Qalong, folakha ena (e ka boela ea sebelisoa ka mokhoa o khutsufalitsoeng, joale e shebahala joalo -v) e ne e sebelisetsoa lijana tse ikemetseng, le folakha --mount - sebakeng sa Docker Swarm. Leha ho le joalo, ho tloha ka Docker 17.06, folakha --mount e ka sebelisoa maemong afe kapa afe.

Ho lokela ho hlokomeloa hore ha u sebelisa folakha --mount palo ea data e eketsehileng e tlamehang ho hlalosoa taelong e eketseha, empa, ka mabaka a 'maloa, ho molemo ho sebelisa folakha ena, eseng. --volume. Folakha --mount ke eona feela mochini o u lumellang hore u sebetse le lits'ebeletso kapa u hlalose likhetho tsa mokhanni oa molumo. Hape, folakha ena e bonolo ho sebetsa le eona.

Mehlala e teng ea litaelo tsa ho qhekella tsa data tsa Docker, o ka bona mehlala e mengata ea ts'ebeliso ea folakha -v. Ha u leka ho ikamahanya le litaelo tsena bakeng sa hau, hopola hore lifolakha --mount и --volume sebelisa mefuta e fapaneng ea li-parameter. Ke hore, u ke ke ua nka sebaka feela -v mabapi le --mount le ho fumana sehlopha se sebetsang.

Phapang e ka sehloohong pakeng tsa --mount и --volume ke hore ha u sebelisa folakha --volume likarolo tsohle li bokelloa hammoho tšimong e le 'ngoe, le ha li sebelisoa --mount liparamente li arohane.

Ha u sebetsa le --mount liparamente li emeloa e le lipara tsa bohlokoa-boleng, e leng, e shebahala joalo key=value. Lipara tsena li arotsoe ka lifehelo. Mona ke likhetho tse sebelisoang hangata --mount:

  • type - mofuta oa koloi. Boleng ba senotlolo e tsamaisanang e ka ba tlama, bophahamo ba modumo kapa seoa. Re bua ka meqolo mona, ke hore, re thahasella bohlokoa volume.
  • source - mohloli oa thaba. Bakeng sa meqolo e boletsoeng, lena ke lebitso la molumo. Bakeng sa meqolo e sa boleloang ka mabitso, senotlolo sena ha sea hlalosoa. E ka khutsufatsoa ho src.
  • destination - tsela eo faele kapa foldara e kentsoeng ka har'a setshelo. Senotlolo sena se ka khutsufatsoa ho dst kapa target.
  • readonly - ho phahamisa molumo o reriloeng bakeng sa ho bala feela. Tšebeliso ea senotlolo sena ke boikhethelo, 'me ha ho boleng bo abetsoeng ho eona.

Mohlala oa tšebeliso ke ona --mount ka likhetho tse ngata:

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

Liphello

Mona ke tse ling tsa litaelo tsa bohlokoa tseo u ka li sebelisang ha u sebetsa le li-volumes tsa Docker:

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

Mona ke lenane la likhetho tse sebelisoang hangata bakeng sa --mount, e sebetsang ka taelo ea foromo docker run --mount my_options my_image:

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

Kaha joale re phethetse letoto lena la Docker, ke nako ea ho bua mantsoe a 'maloa mabapi le hore na baithuti ba Docker ba ka ea kae. mona sengoloa se setle ka Docker. mona buka e buang ka Docker (ha u reka buka ena, leka ho fumana khatiso ea morao-rao ea eona). mona buka e 'ngoe bakeng sa ba nahanang ho itloaetsa ke tsela e molemohali ea ho ithuta theknoloji.

Babali ba ratehang! Ke lisebelisoa life tsa Docker tseo u ka li khothaletsang hore ba qalang ho ithuta tsona?

Ho ithuta Docker, Karolo ea 6: Ho sebetsa ka Lintlha

Source: www.habr.com

Eketsa ka tlhaloso