VM nó Docker?

Conas a bheidh a fhios agat an bhfuil Docker ag teastáil uait agus nach VM? Ní mór duit a chinneadh cad go díreach is mian leat a leithlisiú. Más mian leat córas a leithlisiú le hacmhainní tiomanta ráthaithe agus crua-earraí fíorúla, ansin ba cheart go mbeadh an rogha ina VM. Más gá duit feidhmchláir reatha a leithlisiú mar phróisis chórais ar leithligh, beidh Docker uait.

Mar sin, cad é an difríocht idir coimeádáin Docker agus VMs?

Meaisín fíorúil (VM) Is ríomhaire fíorúil é le gach feiste fíorúil agus diosca crua fíorúil ar a bhfuil OS neamhspleách nua suiteáilte mar aon le tiománaithe gléasanna fíorúla, bainistíocht cuimhne agus comhpháirteanna eile. Is é sin, faigheann muid astarraingt de chrua-earraí fisiceacha a ligeann dúinn go leor ríomhairí fíorúla a reáchtáil ar ríomhaire amháin.
Is féidir le VM suiteáilte spás a ghlacadh ar dhiosca do ríomhaire ar bhealaí éagsúla:

  • spás diosca crua seasta, a cheadaíonn rochtain níos tapúla ar an diosca crua fíorúil agus a sheachnaíonn ilroinnt comhaid;
  • leithdháileadh cuimhne dinimiciúil. Nuair a shuiteáiltear feidhmchláir bhreise, déanfar cuimhne a leithdháileadh go dinimiciúil dóibh go dtí go sroicheann sé an t-uasmhéid a leithdháileadh air.

Dá mhéad meaisíní fíorúla in aghaidh an fhreastalaí, is amhlaidh is mó spáis a ghlacann siad, agus teastaíonn tacaíocht leanúnach freisin don timpeallacht a theastaíonn chun d’iarratas a rith.

dhugaire bogearraí chun feidhmchláir coimeádán-bhunaithe a chruthú. Tá buntáistí comhchosúla ag coimeádáin agus meaisíní fíorúla, ach oibríonn siad go difriúil. Tógann coimeádáin níos lú spáis mar... níos mó acmhainní comhroinnte den chóras óstaigh a athúsáid ná an VM, mar gheall ar murab ionann agus VM, soláthraíonn sé fíorúlú ag leibhéal an OS, ní ag leibhéal na crua-earraí. Mar thoradh ar an gcur chuige seo tá lorg cuimhne níos ísle, imscaradh níos tapúla, agus scálaithe níos éasca.

Soláthraíonn an coimeádán meicníocht níos éifeachtaí chun feidhmchláir a chuimsiú trí na comhéadain riachtanacha a sholáthar don chóras óstaigh. Ligeann an ghné seo do choimeádáin croí an chórais a roinnt, le gach coimeádán ag rith mar phróiseas OS óstach ar leith a bhfuil a shraith réimsí cuimhne féin (a spás seoltaí fíorúil féin). Ós rud é gur spás seoladh fíorúil gach coimeádán a spás féin, ní féidir sonraí a bhaineann le réimsí cuimhne éagsúla a athrú.
Is é Linux an OS dúchais le haghaidh Docker (is féidir Docker a úsáid freisin ar Windows agus MacOS), úsáideann sé a phríomhbhuntáistí, rud a ligeann dó an scaradh eithne a eagrú. Beidh Rith coimeádáin Docker ar Windows ar siúl taobh istigh de mheaisín fíorúil ag rith Linux OS, mar gheall ar roinneann coimeádáin OS an chórais óstaigh agus is é Linux an príomh-OS dóibh.

Coimeádán - conas a oibríonn sé?

Coimeádán is astarraingt ar leibhéal an fheidhmchláir é a chomhcheanglaíonn cód agus spleáchais. Cruthaítear coimeádáin ó íomhánna i gcónaí, ag cur ciseal barr inscríofa agus ag tosú paraiméadair éagsúla. Toisc go bhfuil a chiseal scríofa féin ag coimeádán agus go stóráiltear gach athrú sa chiseal sin, is féidir le coimeádáin iolracha rochtain a roinnt ar an máistiríomhá céanna.

Is féidir gach coimeádán a chumrú trí chomhad sa tionscadal docker-compose atá san áireamh sa phríomhréiteach - docker-compose.yml. Is féidir leat paraiméadair éagsúla a shocrú ansin mar ainm an choimeádáin, calafoirt, aitheantóirí, teorainneacha acmhainní, spleáchais idir coimeádáin eile. Mura sonraíonn tú ainm coimeádáin sna socruithe, cruthóidh Docker coimeádán nua gach uair, ag tabhairt ainm dó go randamach.

Nuair a thosaítear coimeádán ó íomhá, suiteálann Docker córas comhaid léite-scríofa ar bharr aon sraitheanna thíos. Seo an áit a rithfidh na próisis go léir is mian linn ár gcoimeádán Docker a rith.

Nuair a thosaíonn Docker coimeádán den chéad uair, tá an ciseal inléite tosaigh folamh. Nuair a tharlaíonn athruithe, cuirtear i bhfeidhm iad ar an gciseal seo; mar shampla, más mian leat comhad a athrú, déanfar an comhad sin a chóipeáil ón gciseal inléite amháin thíos go dtí an ciseal inléite amháin.
Beidh an leagan inléite amháin den chomhad fós ann, ach tá sé i bhfolach faoin gcóip anois. Úsáidtear toirteanna chun sonraí a stóráil, beag beann ar shaolré an choimeádáin. Tosaítear toirteanna nuair a chruthaítear an coimeádán.

Cén bhaint atá ag an íomhá leis an gcoimeádán?

Íomhá — an phríomhghné do gach coimeádán. Cruthaítear an íomhá ó Dockerfile a cuireadh leis an tionscadal agus is sraith de chórais comhaid (sraitheanna) í atá cisealta ar bharr a chéile agus grúpáilte le chéile, inléite amháin; is é 127 an t-uaslíon sraitheanna.

Ag croílár gach íomhá tá íomhá bonn, atá sonraithe ag an ordú FROM - an pointe iontrála nuair a bhíonn an íomhá Dockerfile á thógáil. Is ciseal inléite amháin é gach ciseal agus déantar é a léiriú le hordú amháin a athraíonn an córas comhaid, scríofa i Dockerfile.
Chun na sraitheanna seo a chomhcheangal in aon íomhá amháin, úsáideann Docker an córas comhaid Casta ilshraitheach Aontais (tógtar AuFS ar bharr UnionFS), rud a ligeann do chomhaid agus eolairí éagsúla ó shraitheanna éagsúla comhaid a fhorleagan go trédhearcach, rud a chruthaíonn córas comhaid comhtháite.

Tá meiteashonraí sna sraitheanna a ligeann duit faisnéis ghaolmhar a stóráil faoi gach ciseal le linn am rite agus am tógála. Tá nasc leis an gcéad chiseal eile i ngach ciseal; mura bhfuil nasc ag sraith, is é an ciseal is airde san íomhá í.

Féadfaidh orduithe mar:

  • Ó — pointe iontrála agus íomhá á foirmiú;
  • COTHAITHEOIR - ainm úinéir an íomhá;
  • RUN - ordú a fhorghníomhú le linn tionóil íomhá;
  • ADD - an comhad óstach a chóipeáil go híomhá nua; má shonraíonn tú URL an chomhaid, déanfaidh Docker é a íoslódáil chuig an eolaire sonraithe;
  • ENV - athróga timpeallachta;
  • CMD - tosaíonn cruthú coimeádán nua bunaithe ar an íomhá;
  • ENTRYPOINT - déantar an t-ordú a fhorghníomhú nuair a thosaíonn an coimeádán.
  • Is é WORKDIR an t-eolaire oibre chun an t-ordú CMD a fhorghníomhú.
  • USER - socraíonn sé an AitheantasÚsáideora don choimeádán a cruthaíodh bunaithe ar an íomhá.
  • TOIRT - suiteálann an t-eolaire óstach isteach sa choimeádán.
  • Is sraith port é EXPOSE a n-éistear leo sa choimeádán.

Conas a oibríonn UnionFS?

AontasFS - córas comhaid stack fóntais (FS) le haghaidh Linux agus FreeBSD. Cuireann an FS seo meicníocht cóip-ar-scríobh i bhfeidhm (Copy-Ar-Write, COW). Is ciseal é aonad oibre UnionFS; ba cheart gach ciseal a mheas mar chóras comhaid lánchuimsitheach ar leith le hordlathas eolaire ón bhfréamh féin. Cruthaíonn UnionFS gléas ceardchumainn do chórais comhad eile agus ceadaíonn sé comhaid agus eolairí ó chórais comhaid éagsúla (ar a dtugtar forcanna) a chomhcheangal i gcóras comhad amháin comhtháite, go trédhearcach don úsáideoir.

Beidh ábhar na n-eolaire leis na cosáin chéanna le feiceáil le chéile in eolaire aontaithe amháin (i ainmspás amháin) den chóras comhad a bheidh mar thoradh air.

Comhcheanglaíonn UnionFS sraitheanna atá bunaithe ar na prionsabail seo a leanas:

  • déantar ciseal barrleibhéil ar cheann de na sraitheanna, déantar an dara sraith agus na sraitheanna ina dhiaidh sin ina sraitheanna níos ísle;
  • tá réada cisealta ar fáil don úsáideoir “ó bhun go barr”, i.e. má tá an réad iarrtha sa chiseal "barr", cuirtear ar ais é, beag beann ar rud leis an ainm céanna a bheith sa chiseal "bun"; mura ndéantar sin cuirtear réad na ciseal “bun” ar ais; mura bhfuil an réad iarrtha ann ná ann, cuirtear an earráid “Níl aon chomhad nó eolaire den sórt sin” ar ais;
  • is é an ciseal oibre an ceann “barr”, is é sin, ní léirítear gach gníomh úsáideora chun sonraí a athrú ach ar an gciseal barrleibhéil, gan cur isteach ar ábhar na sraitheanna de leibhéil níos ísle.

Is é Docker an teicneolaíocht is coitianta chun coimeádáin a úsáid chun feidhmchláir a rith. Is é an caighdeán sa réimse anois é, ag tógáil ar na cgroups agus na spásanna ainm a sholáthraíonn an eithne Linux.

Ligeann Docker dúinn feidhmchláir a imscaradh go tapa agus an úsáid is fearr a bhaint as an gcóras comhaid tríd an eithne OS a roinnt i measc na gcoimeádán go léir, ag rith mar phróisis OS ar leithligh.

Foinse: will.com

Add a comment