Learning Docker, ampahany 6: miasa miaraka amin'ny data

Amin'ny ampahany anio amin'ny fandikana andiana fitaovana momba ny Docker dia hiresaka momba ny fiasana amin'ny angona isika. Indrindra indrindra, momba ny volume Docker. Ao anatin'ireo fitaovana ireo dia nampitahainay tsy tapaka ny motera rindrambaiko Docker miaraka amin'ireo analogies azo hanina isan-karazany. Aoka tsy hivily amin’izany fomban-drazana eto izany koa isika. Avelao ny data ao amin'ny Docker ho zava-manitra. Misy karazana zava-manitra maro eran'izao tontolo izao, ary ao amin'ny Docker dia misy fomba maro ahafahana miasa miaraka amin'ny angona.

Fizarana 1: Fototra
Fizarana 2: Fepetra sy hevitra
Fizarana 3: Dockerfiles
Fizarana 4: Mampihena ny haben'ny sary ary manafaingana ny fananganana azy
Fizarana 5: baiko
Fizarana 6: miasa miaraka amin'ny angona

Learning Docker, ampahany 6: miasa miaraka amin'ny data

Mariho fa ity fitaovana ity dia nomanina tamin'ny alàlan'ny Docker engine version 18.09.1 ​​sy ny API version 1.39.

Ny data ao amin'ny Docker dia azo tehirizina vetivety na maharitra. Andeha isika hanomboka amin'ny angona momba ny fotoana.

Fitehirizana angona vonjimaika

Ao amin'ny kaontenera Docker, azonao atao ny mandamina ny asa miaraka amin'ny angona vonjimaika amin'ny fomba roa.

Amin'ny alàlan'ny default, ny rakitra noforonin'ny fampiharana iray mandeha ao anaty container dia voatahiry ao amin'ny sosona azo soratana amin'ny container. Mba hampandehanana ity mekanika ity dia tsy misy zavatra manokana tokony hamboarina. Lasa mora sy falifaly. Mila mitahiry ny angon-drakitra fotsiny ny fampiharana ary manohy manao ny asany manokana. Na izany aza, rehefa tsy misy intsony ny kaontenera dia hanjavona ihany koa ny angon-drakitra voatahiry amin'ity fomba tsotra ity.

Misy vahaolana hafa amin'ny fitehirizana rakitra vonjimaika ao amin'ny Docker, mety amin'ny tranga izay ilanao ambaratonga ambony kokoa raha oharina amin'ny zavatra azo tanterahina amin'ny rafitra fitahirizana vonjimaika mahazatra. Raha tsy mila tehirizina lava kokoa noho ny misy ny kaontinao ianao, dia azonao atao ny mampifandray tmpfs amin'ny container - fitahirizana fampahalalana vonjimaika izay mampiasa ny RAM an'ny mpampiantrano. Hanafaingana ny asa fanoratana sy famakiana angona izany.

Matetika dia mila tehirizina ny angon-drakitra na dia tsy misy intsony aza ny container. Mba hanaovana izany dia mila mekanika fitahirizana angon-drakitra maharitra isika.

Fitehirizana angon-drakitra maharitra

Misy fomba roa hahatonga ny androm-piainan'ny data ho lava kokoa noho ny androm-piainan'ny kaontenera. Ny fomba iray dia ny fampiasana ny teknolojia bind mount. Amin'ity fomba ity dia azonao atao ny mametraka, ohatra, ny fampirimana tena misy eo amin'ny fitoeran-javatra. Ireo dingana any ivelan'ny Docker dia afaka miasa amin'ny angon-drakitra voatahiry ao anaty lahatahiry toy izany. Toy izao ny fomba jereo tmpfs mametaka sy mamatotra ny teknolojia mount.

Learning Docker, ampahany 6: miasa miaraka amin'ny data
Apetaho ny tmpfs ary fehezo ny mount

Ny fatiantoka amin'ny fampiasana ny teknolojia bind mount dia ny fampiasana azy dia manasarotra ny backup data, ny fifindran'ny data ary ny fifampizarana angon-drakitra eo amin'ireo kaontenera marobe. Tsara kokoa ny mampiasa volume Docker ho fitahirizana angon-drakitra maharitra.

Docker volumes

Ny volume dia rafitra fichier izay mipetraka amin'ny milina mpampiantrano ivelan'ny kaontenera. Docker dia mamorona sy mitantana boky. Ireto ny toetra fototry ny Docker volumes:

  • Izy ireo dia fomba fitahirizana maharitra ny vaovao.
  • Izy ireo dia mahaleo tena ary misaraka amin'ny kaontenera.
  • Azo zaraina amin'ny kaontenera samihafa izy ireo.
  • Izy ireo dia mamela anao handamina mamaky sy manoratra angona mahomby.
  • Ny boky dia azo apetraka amin'ny loharanon'ny mpamatsy rahona lavitra.
  • Azo atao encryption izy ireo.
  • Azo omena anarana izy ireo.
  • Ny kaontenera dia afaka mandamina mialoha ny hamenoana ny habetsaky ny angona.
  • Mety amin'ny fitsapana izy ireo.

Araka ny hitanao dia manana fananana lehibe ny docker volumes. Andeha isika hiresaka momba ny fomba hamoronana azy ireo.

Mamorona Boky

Ny volume dia azo noforonina amin'ny fampiasana Docker na amin'ny fangatahana API.

Ity misy torolàlana Dockerfile ahafahanao mamorona volume rehefa manomboka ny container.

VOLUME /my_volume

Rehefa mampiasa toromarika toy izao i Docker, rehefa avy namorona ny fitoeran-javatra, dia hamorona boky misy ny angona efa misy ao amin'ny toerana voafaritra. Mariho fa raha mamorona boky ianao amin'ny fampiasana Dockerfile, dia tsy manamaivana anao amin'ny filàna manondro teboka iray ho an'ny volume izany.

Azonao atao koa ny mamorona boky ao amin'ny Dockerfile amin'ny alàlan'ny format JSON.

Ankoatr'izay, azo atao ny mamorona volume amin'ny alàlan'ny baiko baiko rehefa mandeha ny container.

Miasa miaraka amin'ny volume avy amin'ny baiko baiko

▍Mamorona boky

Azonao atao ny mamorona boky mitokana miaraka amin'ity baiko manaraka ity:

docker volume create —-name my_volume

▍ Mitadiava fampahalalana momba ny boky

Raha hijery ny lisitry ny docker volumes dia ampiasao ity baiko manaraka ity:

docker volume ls

Azonao atao ny mijery volume manokana toy izao:

docker volume inspect my_volume

▍ Famafana feo

Azonao atao ny mamafa volume toy izao:

docker volume rm my_volume

Mba hamafa ireo boky rehetra tsy ampiasain'ny container dia azonao ampiasaina ity baiko manaraka ity:

docker volume prune

Alohan'ny famafana ny boky dia hangataka anao i Docker hanamarina ity hetsika ity.

Raha ampifandraisina amin'ny kaontenera ny boky iray, dia tsy azo fafana ilay horonam-peo raha tsy voafafa ilay fitoeran-javatra mifanaraka amin'izany. Amin'izay fotoana izay, na dia voafafa aza ny kaontenera, dia tsy azon'i Docker foana izany. Raha mitranga izany dia azonao ampiasaina ity baiko manaraka ity:

docker system prune

Izy io dia natao hanadiovana ny loharanon'ny Docker. Aorian'ny fampandehanana an'io baiko io dia tokony ho azonao atao ny mamafa ny boky izay diso ny sata voafaritra teo aloha.

--mount sy --volume saina

Mba hiasa amin'ny volumes anao, rehefa miantso ny baiko docker, matetika ianao dia tsy maintsy mampiasa saina. Ohatra, mba hamoronana volume mandritra ny famoronana container dia azonao ampiasaina ity fananganana manaraka ity:

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

Tamin'ny andro fahiny (hatramin'ny 2017), nalaza ny saina --volume. Tamin'ny voalohany, ity saina ity (azo ampiasaina amin'ny endrika fanafohezana ihany koa, avy eo dia toa -v) dia nampiasaina ho an'ny kaontenera mitokana, ary ny saina --mount - ao amin'ny tontolo Docker Swarm. Na izany aza, toy ny Docker 17.06, ny saina --mount azo ampiasaina amin'ny toe-javatra rehetra.

Tsara homarihina fa rehefa mampiasa ny saina --mount mitombo ny habetsaky ny angon-drakitra fanampiny izay tsy maintsy voafaritra ao amin'ny baiko, saingy noho ny antony maro dia tsara kokoa ny mampiasa an'io saina io fa tsy --volume. sainam-pirenena --mount - Io no hany mekanika ahafahanao miasa amin'ny serivisy na mamaritra ny mari-pamantarana mpamily volume. Ankoatra izany, ity saina ity dia mora kokoa ny miasa.

Ao amin'ireo ohatra efa misy amin'ny baiko mikendry ny hiasa amin'ny angona ao amin'ny Docker, dia afaka mahita ohatra maro amin'ny fampiasana ny saina ianao -v. Rehefa manandrana mampifanaraka ireo baiko ireo ho anao ianao dia tadidio fa saina --mount и --volume mampiasa endrika paramètre samihafa. Izany hoe tsy azonao soloina tsotra izao -v amin'ny --mount ary mahazo ekipa miasa.

Ny tena maha samy hafa ny --mount и --volume izany ve rehefa mampiasa saina --volume ny masontsivana rehetra dia angonina miaraka amin'ny sehatra iray, ary rehefa ampiasaina --mount misaraka ny paramètre.

Rehefa miasa miaraka --mount ny paramètre dia aseho ho mpivady sanda fototra, izany hoe, toa key=value. Asarahin'ny faingo ireo mpivady ireo. Ireto ny safidy fampiasa matetika --mount:

  • type - karazana fametrahana. Ny sandan'ny fanalahidy mifandraika dia mety ho fehezinao, boky na tmpfs. Boky no resahina eto, izany hoe liana amin'ny dikany volume.
  • source - loharano tendrombohitra. Ho an'ny volume voatonona, ity no anaran'ny volume. Ho an'ny boky tsy voatonona anarana dia tsy voafaritra io lakile io. Azo hafohezina ho src.
  • destination — ny lalana ametrahana ilay rakitra na lahatahiry ao anaty fitoeran-javatra. Ity fanalahidy ity dia azo hafohezina ho dst na target.
  • readonly - mampiakatra ny volume izay kasaina ho vakiana ihany. Tsy voatery io fanalahidy io ary tsy misy sanda omena azy.

Ity misy ohatra iray amin'ny fampiasana --mount miaraka amin'ny paramètre maro:

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

vokatra

Ireto misy baiko mahasoa azonao ampiasaina rehefa miasa amin'ny docker volumes:

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

Ity misy lisitry ny masontsivana fampiasa matetika ho an'ny --mount, azo ampiharina amin'ny baiko toy ny docker run --mount my_options my_image:

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

Ankehitriny rehefa nofonosinay ity andiany Docker ity dia izao no fotoana hilazana teny vitsivitsy momba ny toerana halehan'ny mpianatra Docker manaraka. eto lahatsoratra tsara momba an'i Docker. eto boky momba an'i Docker (rehefa mividy ity boky ity, andramo maka ny edisiona farany). eto Boky iray hafa mety ho an'ireo izay mino fa ny fampiharana no fomba tsara indrindra hianarana ny teknolojia.

Ry mpamaky malala! Inona no fitaovana momba an'i Docker tianao hianarana ho an'ireo vao manomboka?

Learning Docker, ampahany 6: miasa miaraka amin'ny data

Source: www.habr.com

Add a comment