VM neo Docker?

Ciamar a thuigeas tu gu bheil feum agad air Docker agus chan e VM? Feumaidh tu dearbhadh dè dìreach a tha thu airson a sgaradh. Ma tha thu airson siostam a chuir air leth le goireasan cinnteach agus bathar-cruaidh brìgheil, bu chòir don roghainn tuiteam air an VM. Ma dh’ fheumas tu tagraidhean ruith a sgaradh mar phròiseasan siostam air leth, bidh feum agad air Docker.

Mar sin dè an diofar eadar soithichean Docker agus VMan?

Inneal mas-fhìor (VM) na choimpiutair brìgheil leis a h-uile inneal brìgheil agus diosc cruaidh brìgheil, air a bheil OS ùr neo-eisimeileach air a chuir a-steach còmhla ri draibhearan inneal brìgheil, riaghladh cuimhne agus co-phàirtean eile. Is e sin, gheibh sinn geàrr-chunntas de bhathar-cruaidh fiosaigeach a leigeas leat mòran choimpiutairean brìgheil a ruith air aon choimpiutair.
Faodaidh VM stàlaichte àite diosc a ghabhail ann an diofar dhòighean:

  • àite diosc cruaidh stèidhichte, a leigeas le ruigsinneachd nas luaithe air a’ chlàr chruaidh bhrìgheil agus a sheachnadh briseadh fhaidhlichean;
  • riarachadh cuimhne fiùghantach. Nuair a bhios tu a’ stàladh thagraidhean a bharrachd, thèid cuimhne a riarachadh gu dinamach dhaibh gus an ruig e an ìre as motha a chaidh a thoirt dha.

Mar as motha de dh’ innealan mas-fhìor air an t-seirbheisiche, is ann as motha de rùm a bhios iad a’ gabhail, agus bidh feum aca air taic seasmhach bhon àrainneachd a dh’ fheumas an tagradh agad a bhith ag obair.

Docker 's e bathar-bog airson togail iarrtasan stèidhichte air container. Tha buannachdan co-chosmhail aig soithichean agus innealan mas-fhìor, ach bidh iad ag obair ann an dòigh eadar-dhealaichte. Bidh soithichean a’ gabhail nas lugha de rùm, air sgàth cus feum de ghoireasan co-roinnte den t-siostam aoigheachd na an VM, oir eu-coltach ri VM, a’ toirt seachad virtualization aig ìre OS, chan e bathar-cruaidh. Tha an dòigh-obrach seo a’ toirt nas lugha de lorg cuimhne, cleachdadh nas luaithe, agus sgèileadh nas fhasa.

Tha an soitheach a’ toirt seachad uidheamachd nas èifeachdaiche airson tagraidhean a ghlacadh le bhith a’ toirt seachad an eadar-aghaidh riatanach don t-siostam aoigheachd. Tha am feart seo a’ leigeil le soithichean cridhe an t-siostaim a cho-roinn, far am bi gach aon de na soithichean a’ ruith mar phròiseas air leth den phrìomh OS, aig a bheil a sheata de raointean cuimhne fhèin (an àite seòlaidh brìgheil fhèin). Leis gur e àite seòlaidh brìgheil gach soitheach a th’ ann fhèin, chan urrainnear dàta a bhuineas do dhiofar raointean cuimhne atharrachadh.
Is e Linux an OS dùthchasach airson Docker (faodar Docker a chleachdadh cuideachd air Windows agus MacOS), bidh e a’ cleachdadh a phrìomh bhuannachdan, a leigeas leis kernel sgoltadh a chuir air dòigh. Thèid soithichean Docker a chuir air bhog air Windows a chumail taobh a-staigh inneal brìgheil Linux, oir bidh soithichean a’ roinn OS an t-siostam aoigheachd agus is e Linux am prìomh OS dhaibh.

Container - ciamar a tha e ag obair?

Container na tharraing aig ìre tagraidh a tha a’ cothlamadh còd agus eisimeileachd. Bidh soithichean an-còmhnaidh air an cruthachadh bho ìomhaighean, a ’cur sreath àrd a ghabhas sgrìobhadh agus a’ tòiseachadh diofar pharaimearan. Leis gu bheil còmhdach sgrìobhaidh fhèin aig soitheach agus gu bheil a h-uile atharrachadh air a stòradh san t-sreath sin, faodaidh grunn shoithichean ruigsinneachd a cho-roinn air an aon phrìomh ìomhaigh.

Faodar gach soitheach a rèiteachadh tro fhaidhle sa phròiseact docker-compose a tha air a ghabhail a-steach sa phrìomh fhuasgladh, docker-compose.yml. An sin faodaidh tu diofar pharaimearan a shuidheachadh leithid ainm container, puirt, aithnichearan, crìochan ghoireasan, eisimeileachd eadar soithichean eile. Mura sònraich thu ainm soitheach anns na roghainnean, cruthaichidh Docker soitheach ùr gach uair, a’ sònrachadh ainm dha air thuaiream.

Nuair a thòisicheas soitheach bho ìomhaigh, bidh Docker a’ cur suas an t-siostam faidhle leughaidh / sgrìobhaidh air mullach sreathan sam bith gu h-ìosal. Seo far am bi a h-uile pròiseas a tha sinn ag iarraidh air an inneal Docker againn a ruith.

Nuair a thòisicheas Docker soitheach an-toiseach, tha a’ chiad ìre leughaidh / sgrìobhaidh falamh. Nuair a thachras atharrachaidhean, thèid an cur an sàs anns an ìre sin; mar eisimpleir, ma tha thu airson faidhle atharrachadh, thèid am faidhle sin a chopaigeadh bhon t-sreath leughaidh a-mhàin gu h-ìosal chun an ìre read-write.
Bidh an dreach leughaidh a-mhàin den fhaidhle ann fhathast, ach tha e a-nis falaichte fon leth-bhreac. Bithear a’ cleachdadh leabhraichean airson dàta a stòradh, ge bith dè an cearcall-beatha a th’ aig a’ ghobhar. Thèid tomhasan a thòiseachadh nuair a thèid soitheach a chruthachadh.

Ciamar a tha an ìomhaigh co-cheangailte ris a’ ghobhar?

Ìomhaigh - am prìomh eileamaid airson gach container. Tha an ìomhaigh air a chruthachadh bho Dockerfile a chaidh a chur ris a’ phròiseact agus tha e na sheata de shiostaman faidhle (sreathan) air an còmhdachadh air mullach a chèile agus air an cruinneachadh còmhla, rim faighinn airson leughadh a-mhàin; B' e 127 an àireamh as àirde de earrannan.

Aig cridhe gach ìomhaigh tha ìomhaigh bunaiteach, a tha air a shònrachadh leis an àithne FROM - an t-àite inntrigidh nuair a bhios tu a’ cruthachadh ìomhaigh Dockerfile. Tha gach còmhdach na shreath leughaidh a-mhàin agus air a riochdachadh le aon àithne a dh’ atharraicheas an siostam faidhle, sgrìobhte ann an Dockerfile.
Gus na sreathan sin a chur còmhla ann an aon ìomhaigh, bidh Docker a’ cleachdadh siostam faidhle an Aonaidh ioma-shreath adhartach (tha AuFS air a thogail a bharrachd air UnionFS), a’ leigeil le diofar fhaidhlichean agus eòlairean bho dhiofar shreathan faidhle a dhol thairis air gu follaiseach, a’ cruthachadh siostam faidhle co-cheangailte.

Ann an sreathan tha meata-dàta a leigeas leat fiosrachadh co-cheangailte a stòradh mu gach còmhdach aig àm ruith agus àm togail. Tha ceangal aig gach còmhdach ris an ath shreath, mura h-eil ceangal aig an t-sreath, is e seo an ìre as àirde san ìomhaigh.

Faodaidh òrdughan mar:

  • BHO - àite inntrigidh ann an cruthachadh na h-ìomhaigh;
  • MAINTAINER - ainm sealbhadair an deilbh;
  • RUN - cur an gnìomh àithne aig àm co-chruinneachadh ìomhaighean;
  • ADD - a’ dèanamh lethbhreac den fhaidhle aoigheachd gu ìomhaigh ùr, ma shònraicheas tu faidhle URL, luchdaichidh Docker sìos e chun eòlaire ainmichte;
  • ENV - caochladairean àrainneachd;
  • CMD - a 'tòiseachadh a' cruthachadh soitheach ùr stèidhichte air an ìomhaigh;
  • ENTRYPOINT - Thèid an àithne a chuir gu bàs nuair a thòisicheas an soitheach.
  • Is e WORKDIR an eòlaire obrach airson an àithne CMD a chuir an gnìomh.
  • CLEACHDADH - Suidhich an UID airson an t-soitheach a chaidh a chruthachadh bhon ìomhaigh.
  • VOLUME - Cuir a-steach an eòlaire aoigheachd don ghobhar.
  • Tha EXPOSE na sheata de phuirt air a bheilear ag èisteachd anns a’ ghobhar.

Ciamar a tha UnionFS ag obair?

AonadhFS - siostam faidhle stac seirbheis (FS) airson Linux agus FreeBSD. Bidh an FS seo a’ buileachadh an uidheamachd leth-bhreac-air-sgrìobhadh (Copy-On-Write, COW). Is e còmhdach a th’ ann an aonad obrach UnionFS, bu chòir beachdachadh air gach còmhdach mar shiostam faidhle làn-chuimseach air leth le rangachd eòlaire bhon fhreumh fhèin. Bidh UnionFS a’ cruthachadh inneal aonaidh airson siostaman faidhle eile agus a’ leigeil leat faidhlichean agus seòlaidhean bho dhiofar shiostaman faidhle (ris an canar meuran) a chur còmhla gu follaiseach ann an aon shiostam faidhle ceangailte, gu follaiseach don neach-cleachdaidh.

Thèid susbaint chlàran leis na h-aon shlighean a thaisbeanadh còmhla ann an aon eòlaire aonaichte (san aon ainm-àite) den t-siostam faidhle a thig às.

Bidh UnionFS a’ cothlamadh sreathan stèidhichte air na prionnsapalan a leanas:

  • bidh aon de na sreathan gu bhith na ìre àrd-ìre, bidh an dàrna agus na sreathan às dèidh sin nan sreathan aig ìre nas ìsle;
  • tha stuthan còmhdach ruigsinneach don neach-cleachdaidh “bho mhullach gu bonn”, i.e. ma tha an nì a chaidh iarraidh anns an t-sreath "àrd", thèid a thilleadh, ge bith dè an làthaireachd a tha ann an nì leis an aon ainm anns an t-sreath "nas ìsle"; air neo, thèid an nì còmhdach “bun” a thilleadh; mura h-eil an nì a chaidh iarraidh ann no ann, tha a’ mhearachd “Chan eil faidhle no eòlaire mar sin” air a thilleadh;
  • is e an còmhdach obrach am fear “mullach”, is e sin, tha a h-uile gnìomh cleachdaiche gus dàta atharrachadh air a nochdadh a-mhàin air an ìre àrd-ìre, gun a bhith a’ toirt buaidh air susbaint sreathan ìre nas ìsle.

Is e docker an teicneòlas as cumanta airson soithichean a chleachdadh ann an obair tagraidh. Tha e air a thighinn gu bhith na inbhe san raon seo, a’ togail air na cgroups agus na h-àiteachan ainm a thug an kernel Linux seachad.

Leigidh Docker leinn tagraidhean a chuir a-steach gu sgiobalta agus am feum as fheàrr a dhèanamh den t-siostam faidhle le bhith a’ roinneadh kernel OS eadar a h-uile inneal, a ’ruith mar phròiseasan OS air leth.

Source: www.habr.com

Cuir beachd ann