VM okanye iDocker?

Wazi njani ukuba ufuna iDocker hayi iVM? Kuya kufuneka uqonde ukuba yintoni kanye kanye ofuna ukuyikhetha. Ukuba ufuna ukwahlula inkqubo enezixhobo ezinikezelweyo eziqinisekisiweyo kunye nehardware ebonakalayo, ke ukhetho kufuneka lube yiVM. Ukuba ufuna ukwahlula usetyenziso olusebenzayo njengenkqubo eyahlukileyo yenkqubo, uya kufuna iDocker.

Ke ngoko yintoni umahluko phakathi kwezikhongozeli zeDocker kunye neeVM?

Umatshini obonakalayo (VM) yikhompyuter enenyani enazo zonke izixhobo ezinenyani kunye nediski eqinileyo enenyani apho i-OS entsha ezimeleyo ifakwe khona kunye nabaqhubi besixhobo esinenyani, ulawulo lwenkumbulo kunye namanye amalungu. Oko kukuthi, sifumana i-abstraction ye-hardware ebonakalayo evumela ukuba siqhube iikhomputha ezininzi ezibonakalayo kwikhompyutheni enye.
I-VM efakiweyo inokuthatha indawo kwidiski yekhompyuter yakho ngeendlela ezahlukeneyo:

  • isithuba sediski esisigxina, esivumela ufikelelo olukhawulezayo kwi-virtual hard disk kwaye luthintele ukuqhekeka kwefayile;
  • ulwabiwo lwenkumbulo eguqukayo. Xa uhlohla usetyenziso olongezelelweyo, imemori iya kwabelwa bona ngokuguquguqukayo ide ifike kubuninzi bemali eyabelwe yona.

Okukhona oomatshini abanenyani abangakumbi ngomncedisi ngamnye, kokukhona bethatha isithuba esingaphezulu, kwaye bakwafuna inkxaso ethe gqolo yokusingqongileyo efunekayo ukuze isicelo sakho siqhube.

Docker yisoftware yokwenza usetyenziso olusekwe kwizikhongozeli. Izikhongozeli kunye noomatshini ababonakalayo banezibonelelo ezifanayo, kodwa zisebenza ngokwahlukileyo. Izikhongozeli zithatha indawo encinci kuba... phinda usebenzise izibonelelo ezininzi ezabelwanayo zesixokelelwano senginginya kune-VM, kuba ngokungafaniyo ne-VM, ibonelela nge-virtualization kwinqanaba le-OS, kungekhona kwinqanaba le-hardware. Le ndlela ibangela ukunyanzeliswa kwememori esezantsi, ukuhanjiswa ngokukhawuleza, kunye nokukala okulula.

Isikhongozeli sibonelela ngendlela esebenza ngokufanelekileyo yokuhlanganisa izicelo ngokubonelela ngojongano oluyimfuneko kwisistim yokusingatha. Olu phawu luvumela izikhongozeli ukuba zabelane ngondoqo wenkqubo, kunye nesikhongozeli ngasinye sisebenza njengenkqubo ye-OS yomkhosi eyahlukileyo eneseti yayo yeendawo zememori (indawo yayo yedilesi enenyani). Kuba isithuba sedilesi yesikhongozeli ngasinye sesaso, idatha ekwiindawo ezahlukeneyo zememori ayinakuguqulwa.
I-OS yemveli ye-Docker yi-Linux (i-Docker inokusetyenziswa kwakhona kwi-Windows kunye ne-MacOS), isebenzisa iingenelo zayo eziphambili, ezivumela ukuba ziququzelele ukwahlukana kwe-kernel. Ukuqhuba izikhongozeli zeDocker kwiWindows kuya kwenzeka ngaphakathi kumatshini obonakalayo osebenzisa iLinux OS, kuba izikhongozeli zabelana nge-OS yenkqubo yenginginya kwaye eyona OS yazo yiLinux.

Isingxobo - sisebenza njani?

Isikhongozelo luthintelo lwenqanaba lesicelo oludibanisa ikhowudi kunye nokuxhomekeka. Izikhongozeli zihlala zidalwe kwimifanekiso, zongeza umaleko obhalwe ngaphezulu kwaye ziqalise iiparamitha ezahlukeneyo. Ngenxa yokuba isikhongozeli sinomaleko waso wokubhala kwaye zonke iinguqu zigcinwe kolu luhlu, izikhongozeli ezininzi zinokwabelana ngokufikelela kumfanekiso oyintloko ofanayo.

Isingxobo ngasinye sinokuqwalaselwa ngefayile kwiprojekthi ye-docker-compose efakwe kwisisombululo esiphambili - i-docker-compose.yml. Apho ungacwangcisa iiparamitha ezahlukeneyo njengegama lesikhongozeli, izibuko, izichazi, umda wemithombo, ukuxhomekeka phakathi kwezinye izikhongozeli. Ukuba awukhankanyi igama lesikhongozeli kwiseto, iDocker iya kudala isikhongozeli esitsha ngalo lonke ixesha, isinika igama ngokungenamkhethe.

Xa isikhongozeli siqaliswa kumfanekiso, iDocker inyusa indlela yefayile yokufunda-bhala ngaphezulu kwayo nayiphi na imigangatho engezantsi. Apha kulapho zonke iinkqubo esifuna ukuba isikhongozeli sethu seDocker siqhube ziyakuqhuba.

Xa iDocker iqala kuqala isikhongozeli, umaleko wokuqala wokufunda-ukubhala awunanto. Xa utshintsho lusenzeka, lusetyenziswa kulo maleko; umzekelo, ukuba ufuna ukutshintsha ifayile, loo fayile iya kukhutshelwa kumaleko okufunda-kuphela angezantsi ukuya kumaleko okufunda-bhala.
Inguqulelo yokufunda kuphela yefayile iya kuhlala ikhona, kodwa ngoku ifihliwe phantsi kwekopi. Imiqulu isetyenziselwa ukugcina idatha, kungakhathaliseki ukuba umjikelo wobomi besikhongozeli. Imiqulu iyaqaliswa xa isikhongozeli sisenziwa.

Umfanekiso unxulumana njani nesikhongozeli?

Umfanekiso - eyona nto iphambili kwisikhongozeli ngasinye. Umfanekiso udalwe kwiDockerfile eyongezwe kwiprojekthi kwaye yiseti yeenkqubo zefayile (izaleko) ezibekwe phezu komnye kwaye zihlanganiswe ndawonye, ​​zifundeka kuphela; inani eliphezulu leeleya li-127.

Kwintliziyo yomfanekiso ngamnye ngumfanekiso wesiseko, ochazwe ngumyalelo we-FROM - indawo yokungena xa usakha umfanekiso weDockerfile. Umaleko ngamnye ngumaleko ofundayo kuphela kwaye umelwe ngumyalelo omnye olungisa inkqubo yefayile, ebhalwe kwi Dockerfile.
Ukudibanisa ezi maleko zibe ngumfanekiso omnye, iDocker isebenzisa iNkqubo yefayile yoManyano enemaleko amaninzi (AuFS yakhiwe phezulu kweUnionFS), ivumela iifayile ezahlukeneyo kunye noovimba beefayili ukusuka kwiileya ezahlukeneyo zefayile ukuba zigqunywe elubala, zenza inkqubo yefayile edibeneyo.

Iileya ziqulethe imethadatha ekuvumela ukuba ugcine ulwazi oluhambelanayo malunga nomaleko ngamnye ngexesha lokuqhuba kunye nexesha lokwakha. Umaleko ngamnye uqulathe ikhonkco kumaleko olandelayo; ukuba umaleko awunalo ikhonkco, ngoko ngowona maleko uphezulu emfanekisweni.

I-Dockerfile inokuqulatha imiyalelo efana nale:

  • FROM β€” indawo yokungena xa usenza umfanekiso;
  • UMGCINI - igama lomnini womfanekiso;
  • RUN - ukuphunyezwa komyalelo ngexesha lokudibanisa umfanekiso;
  • ADD-ukukopa ifayile yenginginya kumfanekiso omtsha, ukuba ukhankanya iURL yefayile, iDocker iya kuyikhuphela kulawulo olukhankanyiweyo;
  • ENV - izinto eziguquguqukayo zokusingqongileyo;
  • I-CMD - iqala ukudalwa kwesitya esitsha esekwe kumfanekiso;
  • ENTRYPOINT - umyalelo uyenziwa xa isikhongozeli siqala.
  • I-WORKDIR luluhlu olusebenzayo lokuphumeza umyalelo we-CMD.
  • USER - icwangcisa iUID yesingxobo esenziwe ngokusekelwe kumfanekiso.
  • VOLUME - inyusa uvimba weefayili kwisikhongozeli.
  • I-EXPOSE luluhlu lwamazibuko olumanyelwa kwisikhongozeli.

Isebenza njani iUnionFS?

UnionFS -Inkqubo yefayile yestack esebenzayo (FS) yeLinux kunye neFreeBSD. Le FS isebenzisa indlela yokukhuphela-ngokubhala (Kopisha-uBhala, i-COW). Iyunithi esebenzayo yeUnionFS ngumaleko, umaleko ngamnye kufuneka uthathelwe ingqalelo njengenkqubo yefayile egcweleyo eyahlukileyo enoluhlu lwezalathisi ezisuka kwingcambu ngokwayo. I-UnionFS yenza i-union mount yezinye iinkqubo zefayile kwaye ivumela iifayile kunye nabalawuli abavela kwiinkqubo zefayile ezahlukeneyo (ezibizwa ngokuba ziifolokhwe) ukuba zidityaniswe kwisixokelelwano sefayile esihambelanayo esisodwa, ngokucacileyo kumsebenzisi.

Imixholo yabalawuli abaneendlela ezifanayo iya kuvela kunye kulawulo olunye oludityanisiweyo (kwisithuba segama elinye) lwenkqubo yefayile enesiphumo.

I-UnionFS idibanisa iileya ezisekelwe kule migaqo ilandelayo:

  • enye yeeleyile iba ngumgangatho ophezulu, owesibini kunye noluhlu olulandelayo luba ngamanqwanqwa aphantsi;
  • izinto zomaleko ziyafumaneka kumsebenzisi "ukusuka phezulu ukuya ngasezantsi", i.e. ukuba into eceliwe ikwinqanaba "phezulu", ibuyiselwa, kungakhathaliseki ukuba kukho into enegama elifanayo kwinqanaba "elisezantsi"; ngaphandle koko into yomgangatho "ophantsi" ibuyiselwe; ukuba into eceliweyo ayikho kwaye ayikho, impazamo ethi "Akukho fayile okanye ulawulo olunjalo" ibuyiswe;
  • umaleko osebenzayo nguwo "phezulu", oko kukuthi, zonke izenzo zomsebenzisi zokutshintsha idatha zibonakaliswa kuphela kwinqanaba eliphezulu, ngaphandle kokuchaphazela imixholo yemigangatho yamanqanaba aphantsi.

I-Docker yeyona teknoloji ixhaphakileyo yokusebenzisa izitya ukuqhuba izicelo. Kuye kwaba ngumgangatho kwintsimi, ukwakha kumaqela kunye neendawo zamagama ezinikezelwe yi-Linux kernel.

I-Docker ivumela ukuba sisebenzise ngokukhawuleza izicelo kwaye sisebenzise kakuhle inkqubo yefayile ngokwahlula i-OS kernel phakathi kwazo zonke izikhongozeli, ezisebenza njengeenkqubo ze-OS ezahlukileyo.

umthombo: www.habr.com

Yongeza izimvo