Docker a thuiscint

Tá mé ag baint úsáide as Docker le roinnt míonna anuas anois chun próiseas forbartha/seachadta tionscadal gréasáin a struchtúrú. Tairgim aistriúchán ar an alt tosaigh faoi docker do léitheoirí Habrakhabr - "Docker a thuiscint".

Cad is docker ann?

Is ardán oscailte é Docker chun feidhmchláir a fhorbairt, a sheachadadh agus a oibriú. Tá Docker deartha chun d'iarratais a sheachadadh níos tapúla. Le docker, is féidir leat d’iarratas a dhíchúpláil ó do bhonneagar agus an bonneagar a chóireáil mar fheidhmchlár bainistithe. Cuidíonn Docker leat do chód a sheoladh níos tapúla, tástáil níos tapúla, iarratais a sheoladh níos tapúla, agus an t-am idir cód a scríobh agus cód a rith a laghdú. Déanann Docker é seo trí ardán fíorúilithe coimeádán éadrom, ag baint úsáide as próisis agus fóntais a chuidíonn leat d'iarratais a bhainistiú agus a sheachadadh.

Ag a chroí, ligeann docker duit beagnach aon fheidhmchlár a rith, scoite amach go sábháilte i gcoimeádán. Ceadaíonn leithlisiú slán duit go leor coimeádáin a reáchtáil ar an óstach céanna ag an am céanna. Ceadaíonn nádúr éadrom an choimeádáin, a ritheann gan ualach breise hypervisor, duit níos mó a bhaint as do chrua-earraí.

Féadfaidh an t-ardán fíorúlaithe coimeádán agus na huirlisí a bheith úsáideach sna cásanna seo a leanas:

  • d’iarratas (agus na comhpháirteanna a úsáideann tú) a phacáistiú i gcoimeádáin dhuganna;
  • dáileadh agus seachadadh na gcoimeádán seo chuig d'fhoirne le haghaidh forbartha agus tástála;
  • na coimeádáin seo a leagan amach ar do shuíomhanna táirgthe, in ionaid sonraí agus sna scamaill araon.

Cad is féidir liom docker a úsáid dó?

Foilsigh d'iarratais go tapa

Tá Docker iontach chun an timthriall forbartha a eagrú. Ligeann Docker d’fhorbróirí coimeádáin áitiúla a rith le feidhmchláir agus seirbhísí. A ligeann duit ina dhiaidh sin a chomhtháthú leis an bpróiseas comhtháthú leanúnach agus sreabhadh oibre imscaradh.

Mar shampla, scríobhann d’fhorbróirí cód go háitiúil agus roinnfidh siad a gcruach forbartha (sraith d’íomhánna Docker) le comhghleacaithe. Nuair a bhíonn siad réidh, brúnn siad an cód agus na coimeádáin chuig an láithreán tástála agus reáchtálann siad aon tástálacha riachtanacha. Ón láithreán tástála, is féidir leo cód agus íomhánna a sheoladh chuig an táirgeadh.

Leagan amach agus nochtadh níos éasca

Déanann an t-ardán docker-bhunaithe coimeádán sé éasca do phálasta a phortáil. Is féidir le coimeádáin docker rith ar do mheaisín áitiúil, bíodh sé fíor nó ar mheaisín fíorúil i lárionad sonraí, nó sa scamall.

Mar gheall ar inaistritheacht agus éadrom an docker tá sé éasca d'ualach oibre a bhainistiú go dinimiciúil. Is féidir leat docker a úsáid chun d’fheidhmchlár nó do sheirbhísí a imscaradh nó a mhúchadh. Ligeann luas an docker é seo a dhéanamh in am beagnach.

Ualaí níos airde agus níos mó pálasta

Tá Docker lightweight agus tapa. Soláthraíonn sé rogha eile athléimneach, cost-éifeachtach seachas meaisíní fíorúla atá bunaithe ar hypervisor. Tá sé úsáideach go háirithe i dtimpeallachtaí ard-ualaigh, mar shampla, nuair a chruthaíonn tú do scamall féin nó ardán mar sheirbhís. Ach tá sé úsáideach freisin d’fheidhmchláir bheaga agus mheánmhéide nuair is mian leat níos mó a bhaint as na hacmhainní atá agat.

Príomh-Chomhpháirteanna Dugála

Tá dhá phríomhchuid ag Docker:

  • Docker: ardán fíorúilithe foinse oscailte;
  • Mol Docker: Ár n-ardán-mar-a-sheirbhís chun coimeádáin Docker a dháileadh agus a bhainistiú.

Nóta! Déantar Docker a dháileadh faoi cheadúnas Apache 2.0.

Ailtireacht docker

Úsáideann Docker ailtireacht cliant-freastalaí. Déanann cliant Docker cumarsáid leis an deamhan Docker, a ghlacann an t-ualach ort do choimeádáin a chruthú, a reáchtáil agus a dháileadh. Is féidir leis an gcliant agus an freastalaí araon a reáchtáil ar an gcóras céanna, is féidir leat an cliant a nascadh le deamhan duga iargúlta. Déanann an cliant agus an freastalaí cumarsáid trí soicéad nó API RESTful.

Docker a thuiscint

Deamhan docker

Mar a thaispeántar sa léaráid, ritheann an deamhan ar an meaisín óstach. Ní idirghníomhaíonn an t-úsáideoir leis an bhfreastalaí go díreach, ach úsáideann sé an cliant chuige seo.

Cliant docker

Is é an cliant Docker, an clár docker, an príomh-chomhéadan le Docker. Faigheann sé orduithe ón úsáideoir agus idirghníomhaíonn sé leis an deamhan docker.

Docker taobh istigh

Chun a thuiscint cad atá i docker, ní mór duit fios a bheith agat faoi thrí chomhpháirt:

  • íomhánna
  • clárlann
  • Gabhdáin

Íomhánna

Teimpléad inléite amháin is ea íomhá an Docker. Mar shampla, d'fhéadfadh go mbeadh córas oibriúcháin Ubuntu le Apache agus feidhmchlár air san íomhá. Úsáidtear íomhánna chun coimeádáin a chruthú. Déanann Docker íomhánna nua a chruthú go héasca, na cinn atá ann cheana a nuashonrú, nó is féidir leat íomhánna a chruthaigh daoine eile a íoslódáil. Comhpháirteanna de thógáil duga is ea íomhánna.

An chlárlann

Stórálann clárlann Docker íomhánna. Tá clárlanna poiblí agus príobháideacha ann ónar féidir leat íomhánna a íoslódáil nó a uaslódáil. Tá clárlann poiblí Docker Mol dugaire. Tá bailiúchán ollmhór íomhánna stóráilte ann. Mar is eol duit, is féidir leat íomhánna a chruthú nó is féidir leat íomhánna cruthaithe ag daoine eile a úsáid. Is comhpháirt dáileacháin iad clárlanna.

Coimeádáin

Tá coimeádáin cosúil le heolairí. Tá gach rud a chaithfidh an feidhmchlár a rith i gcoimeádáin. Cruthaítear gach coimeádán ó íomhá. Is féidir coimeádáin a chruthú, a thosú, a stopadh, a aistriú nó a scriosadh. Tá gach coimeádán scoite amach agus soláthraíonn sé ardán slán don fheidhmchlár. Is comhpháirteanna den obair iad coimeádáin.

Mar sin, conas a oibríonn Docker?

Go dtí seo tá a fhios againn:

  • is féidir linn íomhánna a chruthú ina bhfuil ár bhfeidhmchláir suite;
  • is féidir linn coimeádáin a chruthú ó íomhánna chun feidhmchláir a rith;
  • Is féidir linn íomhánna a dháileadh trí Docker Hub nó trí chlár íomhá eile.

A ligean ar a fheiceáil conas a luíonn na comhpháirteanna seo le chéile.

Conas a oibríonn an íomhá?

Tá a fhios againn cheana féin gur teimpléad inléite amháin í íomhá óna gcruthaítear coimeádán. Tá sraith leibhéal i ngach íomhá. Úsáideann Docker córas comhaid ceardchumainn na leibhéil seo a chomhcheangal in aon íomhá amháin. Ligeann córas comhaid an Aontais comhaid agus eolairí ó chórais comhaid éagsúla (brainsí éagsúla) chun forluí go trédhearcach, rud a chruthaíonn córas comhaid comhtháite.

Is é ceann de na cúiseanna go bhfuil docker lightweight toisc go n-úsáideann sé sraitheanna mar seo. Nuair a athraíonn tú an íomhá, mar shampla feidhmchlár a nuashonrú, cruthaítear sraith nua. Mar sin, gan an íomhá iomlán a athsholáthar nó é a atógáil, mar a d'fhéadfadh go mbeadh ort a dhéanamh le meaisín fíorúil, ní chuirtear ach an ciseal leis nó a nuashonrú. Agus ní gá duit an íomhá iomlán nua a dháileadh, ní dhéantar ach an nuashonrú a dháileadh, rud a fhágann go bhfuil sé níos éasca agus níos tapúla íomhánna a dháileadh.

Ag croílár gach íomhá tá íomhá bonn. Mar shampla, ubuntu, buníomhá Ubuntu, nó fedora, buníomhá an dáileadh Fedora. Is féidir leat íomhánna a úsáid freisin mar bhonn chun íomhánna nua a chruthú. Mar shampla, má tá íomhá apache agat, is féidir leat é a úsáid mar bhuníomhá do d'iarratais gréasáin.

Nóta! Is gnách go dtarraingíonn Docker íomhánna ó chlár Docker Hub.

Is féidir íomhánna docker a chruthú ó na buníomhánna seo; tugaimid na céimeanna chun na híomhánna seo a chruthú treoracha. Cruthaíonn gach treoir íomhá nó leibhéal nua. Beidh na treoracha mar seo a leanas:

  • rith ordú
  • ag cur comhad nó eolaire
  • ag cruthú athróg timpeallachta
  • treoracha ar cad ba cheart a rith nuair a sheoltar coimeádán na híomhá seo

Stóráiltear na treoracha seo i gcomhad Dockerfile. Léann Docker é seo Dockerfile, nuair a thógann tú an íomhá, na treoracha seo a fhorghníomhú agus an íomhá deiridh a thabhairt ar ais.

Conas a oibríonn an clárlann docker?

Is stór í an chlárlann d'íomhánna duga. Nuair a bheidh an íomhá cruthaithe, is féidir leat í a fhoilsiú don chlár poiblí Docker Hub nó do do chlár pearsanta.

Leis an gcliant docker, is féidir leat cuardach a dhéanamh ar íomhánna atá foilsithe cheana féin agus iad a íoslódáil chuig do mheaisín docker chun coimeádáin a chruthú.

Soláthraíonn Docker Hub stórtha íomhá poiblí agus príobháideacha. Tá cuardach agus íoslódáil íomhánna ó stórtha poiblí ar fáil do chách. Níl a bhfuil sna stórais phríobháideacha san áireamh sna torthaí cuardaigh. Agus ní féidir ach tú féin agus do chuid úsáideoirí na híomhánna seo a fháil agus coimeádáin a chruthú uathu.

Conas a oibríonn coimeádán?

Is éard atá i gcoimeádán ná córas oibriúcháin, comhaid úsáideora, agus meiteashonraí. Mar is eol dúinn, cruthaítear gach coimeádán ó íomhá. Insíonn an íomhá seo docker cad atá sa choimeádán, cén próiseas atá le tosú, nuair a thosaíonn an coimeádán, agus sonraí cumraíochta eile. Tá íomhá an Docker inléite amháin. Nuair a thosaíonn docker coimeádán, cruthaíonn sé ciseal léite/scríofa ar bharr na híomhá (ag baint úsáide as an gcóras comhad aontais mar a dúradh cheana) inar féidir an feidhmchlár a rith.

Cad a tharlaíonn nuair a thosaíonn an coimeádán?

Nó ag baint úsáide as an gclár docker, nó ag baint úsáide as an RESTful API, insíonn an cliant docker an daemon docker chun tús a chur leis an gcoimeádán.

$ sudo docker run -i -t ubuntu /bin/bash

Féachaimis ar an ordú seo. Seoltar an cliant ag baint úsáide as an ordú docker, le rogha run, a deir go seolfar coimeádán nua. Is iad na tréithe seo a leanas na ceanglais íosta chun coimeádán a rith:

  • cén íomhá is cóir a úsáid chun an coimeádán a chruthú. Inár gcás ubuntu
  • an t-ordú is mian leat a rith nuair a thosaíonn an coimeádán. Inár gcás /bin/bash

Cad a tharlaíonn faoin gcochall nuair a ritheann muid an t-ordú seo?

Déanann Docker, in ord, an méid seo a leanas:

  • Íoslódáil an íomhá de ubuntu seiceálacha docker le haghaidh infhaighteacht íomhá ubuntu ar an meaisín áitiúil, agus mura bhfuil sé ann, ansin é a íoslódáil ó Mol dugaire. Má tá íomhá ann, úsáideann sé é chun coimeádán a chruthú;
  • cruthaíonn sé coimeádán: nuair a fhaightear an íomhá, úsáideann docker é chun coimeádán a chruthú;
  • cuireann sé tús leis an gcóras comhad agus gléasann sé an leibhéal inléite amháin: cruthaítear an coimeádán sa chóras comhaid agus cuirtear an íomhá leis an leibhéal inléite amháin;
  • cuireann sé tús leis an líonra/droichead: cruthaíonn sé comhéadan líonra a ligeann do docker cumarsáid a dhéanamh leis an meaisín óstach;
  • Ag socrú an seoladh IP: aimsíonn agus socraíonn sé an seoladh;
  • Tosaíonn an próiseas sonraithe: seolann sé d’iarratas;
  • Próiseálann agus táirgeann aschur ó d’iarratas: nascann agus logálann sé ionchur caighdeánach d'fheidhmchlár, aschuir agus sruth earráide ionas gur féidir leat conas atá d'fheidhmchlár ag feidhmiú a rianú.

Tá coimeádán oibre agat anois. Is féidir leat do choimeádán a bhainistiú, idirghníomhú le d’iarratas. Nuair a shocraíonn tú stop a chur leis an iarratas, scrios an coimeádán.

Teicneolaíochtaí a úsáidtear

Tá Docker scríofa i Go agus úsáideann sé roinnt gnéithe den eithne Linux chun an fheidhmiúlacht thuas a chur i bhfeidhm.

Ainmspásanna

Úsáideann Docker teicneolaíocht namespaces chun spásanna oibre iargúlta a eagrú, ar a dtugaimid coimeádáin. Nuair a thosaímid ar choimeádán, cruthaíonn docker sraith spásanna ainm don choimeádán sin.

Cruthaíonn sé seo ciseal leithlis, le gach gné den choimeádán ag rith ina ainmspás féin agus nach bhfuil rochtain aige ar an gcóras seachtrach.

Liosta de roinnt spásanna ainmneacha a úsáideann docker:

  • pid: an próiseas a leithlisiú;
  • glan: chun comhéadain líonra a bhainistiú;
  • ipc: chun acmhainní IPC a bhainistiú. (ICP: Cumarsáid InterProccess);
  • mnt: chun pointí gléasta a bhainistiú;
  • utc: chun an eithne a leithlisiú agus giniúint leagan rialaithe (UTC: córas ama roinnte Unix).

Grúpaí rialaithe

Úsáideann Docker teicneolaíocht freisin cgroups nó grúpaí rialaithe. Is í an eochair chun feidhmchlár a rith leat féin ná gan ach na hacmhainní a theastaíonn uait a sholáthar don fheidhmchlár. Cinntíonn sé seo go mbeidh na coimeádáin comharsana maith. Ligeann grúpaí rialaithe duit na hacmhainní crua-earraí atá ar fáil a roinnt agus, más gá, teorainneacha agus srianta a shocrú. Mar shampla, teorainn leis an méid cuimhne féideartha don choimeádán.

Córas Comhad Aontais

Is córas comhaid é Union File Sysem nó UnionFS a oibríonn trí shraitheanna a chruthú, rud a fhágann go bhfuil sé an-éadrom agus tapa. Úsáideann Docker UnionFS chun na bloic óna dtógtar an coimeádán a chruthú. Is féidir le docker leaganacha éagsúla de UnionFS a úsáid lena n-áirítear: AUFS, btrfs, vfs agus DeviceMapper.

Formáidí Coimeádán

Comhcheanglaíonn Docker na comhpháirteanna seo i bhfillteán ar a dtugaimid formáid an choimeádáin. Tugtar an fhormáid réamhshocraithe libcontainer. Tacaíonn Docker freisin leis an bhformáid coimeádán traidisiúnta ar Linux ag baint úsáide as LXC. Sa todhchaí, féadfaidh Docker tacú le formáidí coimeádáin eile. Mar shampla, comhtháthú le BSD Jails nó Solaris Zones.

Foinse: will.com

Add a comment