VM poʻo Docker?

E faʻafefea ona e malamalama e te manaʻomia Docker ae le o se VM? E tatau ona e fuafuaina le mea tonu e te manaʻo e faʻaesea. Afai e te manaʻo e faʻateʻaina se faiga faʻatasi ai ma punaoa faʻamaonia ma masini komepiuta, ona tatau lea ona paʻu le filifiliga ile VM. Afai e te manaʻomia le faʻamavaeina o taʻaloga e pei o faiga faʻavae eseese, e te manaʻomia Docker.

O le a la le eseesega i le va o pusa Docker ma VMs?

masini fa'apitoa (VM) ose komipiuta fa'akomepiuta fa'atasi ai ma masini fa'atauva'a uma ma se tisiki malo fa'apolopolo, lea e fa'apipi'i ai se OS tuto'atasi fou fa'atasi ai ma ta'avale masini fa'anatura, pulega manatua ma isi vaega. O lona uiga, matou te maua se faʻaputuga o meafaigaluega faʻaletino e mafai ai ona e faʻatautaia le tele o komepiuta mataʻutia i luga o le komepiuta e tasi.
O se VM fa'apipi'i e mafai ona fa'aogaina avanoa va'ava'a i auala eseese:

  • fa'amautu avanoa tisiki malō, lea e mafai ai ona fa'avavevave le avanoa i le tisiki mālosi ma 'alo'ese ai le vaevaega o faila;
  • fa'asoa manatu malosi. Pe a fa'apipi'i nisi tusi talosaga, o le a fa'agasolo lelei le fa'amanatuina mo i latou se'ia o'o i le aofa'i aupito maualuga e tu'uina atu i ai.

O le tele o masini komepiuta i luga o le 'auʻaunaga, o le tele o avanoa latou te faʻaogaina, ma e manaʻomia foi le lagolago faifaipea o le siosiomaga e manaʻomia mo lau talosaga e galue ai.

Docker ose polokalame mo le fausiaina o talosaga e fa'atatau i koneteina. O koneteina ma masini masini e iai fa'amanuiaga tutusa, ae e ese le galuega. O koneteina e itiiti le avanoa, aua faʻaaoga tele punaoa fefaʻasoaaʻi o le polokalama talimalo nai lo le VM, aua e le pei o le VM, e maua ai le virtualization i le OS, ae le o meafaigaluega. O lenei faiga e maua ai le itiiti ifo o tulagavae manatua, faʻapipiʻiina vave, ma faʻafaigofie le faʻaogaina.

O le atigipusa e maua ai se masini sili atu ona lelei mo le faʻapipiʻiina o talosaga e ala i le tuʻuina atu o fesoʻotaʻiga talafeagai i le polokalama talimalo. O lenei vaega e mafai ai e pusa ona faʻasoa le totonugalemu o le faiga, lea e taʻavale ai pusa taʻitasi o se faʻagasologa eseese o le OS autu, o loʻo i ai lana lava seti o nofoaga manatua (lona lava tuatusi tuatusi avanoa). Talu ai ona o avanoa tuatusi faakomepiuta ta'itasi o koneteina e ona lava ia, o fa'amaumauga e iai i vaega eseese e manatua ai e le mafai ona suia.
O le OS masani mo Docker o Linux (Docker e mafai foi ona faʻaaoga i luga o Windows ma MacOS), e faʻaaogaina ona tulaga lelei, lea e mafai ai ona faʻatulagaina se fatu vaevae. O le faʻalauiloaina o pusa Docker i luga o Windows o le a faia i totonu o se masini komepiuta Linux. pusa fa'asoa le OS o le 'au talimalo ma le OS autu mo i latou o Linux.

Container - fa'afefea ona aoga?

Pusa ose fa'amavaega ile tulaga ole talosaga e tu'ufa'atasia le fa'ailoga ma fa'alagolago. O koneteina e fai i taimi uma mai ata, fa'aopoopo i ai se vaega pito i luga e mafai ona tusia ma amata ai fa'asologa eseese. Talu ai ona o se atigipusa e iai lana lava tusi tusi ma o suiga uma o loʻo teuina i totonu o lena laulau, e tele pusa e mafai ona faʻasoa avanoa i le ata mataʻi tutusa.

O atigipusa taʻitasi e mafai ona faʻapipiʻiina e ala i se faila i totonu o le docker-compose project o loʻo aofia i le fofo autu, docker-compose.yml. O iina e mafai ona e setiina faʻasologa eseese e pei o le igoa pusa, ports, faʻamatalaga, faʻatapulaʻa punaoa, faʻalagolago i le va o isi koneteina. Afai e te le faʻamaonia se igoa koneteina i totonu o faʻatulagaga, ona faia lea e Docker se koneteina fou i taimi uma, tuʻuina atu se igoa i ai faʻafuaseʻi.

A amata se atigipusa mai se ata, e faʻapipiʻi e Docker le faila faitau / tusitusi i luga o soʻo se laulau i lalo. Ole mea lea ole a fa'agasolo uma ai faiga tatou te manana'o e tamo'e ai la tatou pusa Docker.

O le taimi muamua na amata ai e Docker se koneteina, o le uluaʻi faitau / tusitusi o loʻo gaogao. A o'o mai suiga, e fa'aoga i lena vaega; mo se faʻataʻitaʻiga, afai e te manaʻo e sui se faila, o le a kopi lena faila mai le faitau-naʻo le laulau i lalo i le faitau-tusi faʻapipiʻi.
O lo'o iai pea le na'o le faitau o le faila, ae o lo'o natia i lalo o le kopi. E fa'aaogaina voluma e teu ai fa'amaumauga, tusa lava po'o le a le olaga o le koneteina. E amatalia voluma pe a fai se koneteina.

E fa'afefea ona feso'ota'i le ata ma le koneteina?

Ata - o le elemene autu mo pusa taitasi. O le ata na faia mai se Dockerfile faʻaopoopo i le poloketi ma o se seti o faila faila (layers) faʻapipiʻi luga o le tasi ma le isi ma faʻapipiʻi faʻatasi, avanoa mo na o le faitau; ole numera maualuga ole laulau ole 127.

I le fatu o ata taʻitasi o se ata faʻavae, lea o loʻo faʻamaonia e le FROM poloaiga - o le mea e ulufale ai pe a fatuina se ata Dockerfile. O laupepa taʻitasi o se laulau faitau ma o loʻo faʻatusalia e se poloaiga e tasi e suia ai le faila faila, tusia i le Dockerfile.
Ina ia tuʻufaʻatasia nei laulau i se ata e tasi, e faʻaaogaina e Docker le Advanced multi-layered Union file system (AuFS o loʻo fausia i luga o le UnionFS), faʻatagaina faila eseese ma faʻatonuga mai faila faila eseese e faʻamalamalama manino, fatuina se faila faila.

Layers o loʻo i ai metadata e mafai ai ona e teuina faʻamatalaga fesoʻotaʻi e uiga i vaega taʻitasi i le taimi faʻataʻavale ma le taimi fau. O fata ta'itasi o lo'o iai se so'otaga i le isi laulau, pe afai e leai se so'otaga o le laulau, o lona uiga o le pito i luga lea o le ata.

Dockerfile e mafai ona iai ni faʻatonuga e pei o:

  • FROM - ulufale i le fausiaina o le ata;
  • MAINTAINER - le igoa o lē e ona le ata;
  • RUN - faʻatonuina le faʻatinoina i le taimi o le faʻapotopotoina o ata;
  • ADD - kopiina o le faila talimalo i se ata fou, afai e te faʻamaonia se faila URL, o le a sii mai e Docker i le lisi faʻapitoa;
  • ENV - fesuiaiga o le siosiomaga;
  • CMD - amata le fausiaina o se atigipusa fou e faʻavae i luga o le ata;
  • ENTRYPOINT - O le faʻatonuga e faʻatinoina pe a amata le koneteina.
  • WORKDIR o le tusi galue mo le faʻatinoina o le CMD poloaiga.
  • USER - Seti le UID mo le atigipusa na faia mai le ata.
  • VOLUME - Fa'apipi'i le lisi o le talimalo ile koneteina.
  • O le EXPOSE o se seti o ports e fa'alogo i totonu o le container.

E faʻafefea ona galue UnionFS?

UnionFS - 'au'aunaga fa'aputu faila (FS) mo Linux ma FreeBSD. O lenei FS o lo'o fa'atinoina le masini kopi-i-tusi (Copy-On-Write, COW). O le iunite galue o le UnionFS o se laulau, e tatau ona manatu vaega taʻitasi o se faila faila atoa ma se faʻatonuga faʻatonu mai le aʻa lava ia. E fausia e le UnionFS se fa'aputuga fa'atasi mo isi faila faila ma fa'atagaina oe e tu'ufa'atasia manino faila ma fa'atonuga mai faila faila (ta'ua lala) i totonu o se faila faila feso'ota'i, manino i le tagata fa'aoga.

O mea o lo'o i totonu o fa'atonuga fa'atasi ai ma ala tutusa o le a fa'aalia fa'atasi i totonu o le lisi tu'ufa'atasi (i le igoa e tasi) o le fa'ai'uga faila.

UnionFS tu'ufa'atasia fa'avae e fa'atatau i ta'iala nei:

  • e avea se tasi o laulau ma laulau pito i luga, o le lona lua ma isi vaega e avea ma vaega maualalo;
  • o mea faʻapipiʻi e mafai ona maua e le tagata faʻaoga "mai luga i lalo", i.e. afai o le mea o loʻo talosagaina o loʻo i totonu o le "pito i luga", e toe faʻafoʻi mai, e tusa lava po o le a le i ai o se mea e tutusa le igoa i le "lalo" layer; a leai, e toe fa'afo'i le mea fa'avae "lalo"; afai o le mea o loʻo talosagaina e le o iai poʻo iina, o le mea sese "Leai se faila poʻo se lisi" ua toe faʻafoʻi mai;
  • o le vaega galue o le "pito i luga", o lona uiga, o gaioiga uma a tagata faʻaoga e suia ai faʻamaumauga e faʻaalia naʻo luga o le pito i luga, e aunoa ma le afaina ai o mea o loʻo i lalo ifo.

Docker o le tekinolosi sili ona taatele mo le faʻaogaina o pusa i galuega faʻaoga. Ua avea ma tulaga masani i lenei vaega, fausia i luga o vaega ma igoa avanoa e saunia e le fatu Linux.

Docker e faʻatagaina i matou e faʻapipiʻi vave talosaga ma faʻaoga lelei le faila faila e ala i le faʻasoaina o le fatu OS i le va o koneteina uma, o loʻo taʻavale e pei o faiga OS eseese.

puna: www.habr.com

Faaopoopo i ai se faamatalaga