Dockeri arhitektuur: miks see on oluline?



Selles ajaveebis käsitletakse dokkija arhitektuuri ja selle erinevaid komponente. See toob esile dokkimisfunktsioonid, mis ütlevad meile selle populaarsuse põhjuse.

Paljud meist usuvad, et Docker on selle lahutamatu osa . Nii et selle uskumatu tööriista taga peab olema hämmastav arhitektuur. Selles blogis käsitlen kõike, mida peate teadma Dockeri arhitektuuri kohta. Need on punktid, mida ma siin arutan:

  1. Traditsiooniline virtualiseerimine vs Docker
  2. Dockeri töövoog
  3. Dockeri arhitektuur

Traditsiooniline virtualiseerimine Vs Docker

Mis on virtuaalne masin (virtuaalne masin)?

VM on virtuaalne server, mis jäljendab riistvaraserverit. Virtuaalmasin tugineb süsteemi füüsilisele riistvarale, et jäljendada täpselt sama keskkonda, kuhu installite oma rakendused. Sõltuvalt teie kasutusjuhtumist võite kasutada süsteemi virtuaalset masinat (mis käitab kogu OS-i protsessina, mis võimaldab teil asendada reaalse masina virtuaalse masinaga) või töödelda virtuaalseid masinaid, mis võimaldavad teil arvutirakendusi virtuaalselt üksi käivitada keskkond.





Varem kasutasime virtuaalsete masinate loomist ja igal VM-il oli OS, mis võttis palju ruumi ja muutis selle raskeks.

Mis on Docker?

Docker on avatud lähtekoodiga projekt, mis pakub tarkvaraarenduslahendust, mida tuntakse konteinerite nime all. Dockeri mõistmiseks peate teadma, mis on konteinerid. Vastavalt Docker , konteiner on kerge, eraldiseisev, käivitatav tarkvarapakett, mis sisaldab kõike selle käivitamiseks vajalikku.



Konteinerid on platvormist sõltumatud ja seetõttu saab Docker töötada nii Windowsi kui ka Linuxi-põhistel platvormidel. Tegelikult saab Dockerit käivitada ka virtuaalmasinas, kui selleks tekib vajadus. Dockeri peamine eesmärk on see, et see võimaldab teil mikroteenuste rakendusi käivitada hajutatud arhitektuuris.

Võrreldes virtuaalsete masinatega liigub Dockeri platvorm ressursside võtmisel riistvaratasemelt operatsioonisüsteemi tasemele. See võimaldab realiseerida konteinerite erinevaid eeliseid, nt. rakenduste teisaldatavus, infrastruktuuri eraldamine ja iseseisvad mikroteenused.

Teisisõnu, kui virtuaalsed masinad abstrakteerivad kogu riistvaraserverit, siis konteinerid operatsioonisüsteemi tuuma. See on täiesti erinev lähenemine virtualiseerimisele ja selle tulemuseks on palju kiiremad ja kergemad juhtumid.



vm vs docker - dokkija arhitektuur - edureka

Dockeri töövoog

Kõigepealt vaatame pilgu Docker Engine'ile ja selle komponentidele, et meil oleks süsteemi toimimise põhiidee. Docker Engine võimaldab teil arendada, kokku panna, tarnida ja käitada rakendusi, kasutades järgmisi komponente:

  1. Docker Daemon : Püsiv taustaprotsess, mis haldab Dockeri pilte, konteinereid, võrke ja salvestusmahte. Dockeri deemon kuulab pidevalt Dockeri API taotlusi ja töötleb neid.

  2. Dockeri mootori REST API : Rakendused kasutavad API-d Dockeri deemoniga suhtlemiseks. Sellele pääseb juurde HTTP klient.

  3. Dockeri CLI : Käsurea liidese klient Dockeri deemoniga suhtlemiseks. See lihtsustab oluliselt konteineriekspertide haldamist ja on üks peamisi põhjuseid, miks arendajad armastavad Dockeri kasutamist.

Alguses vestleb Dockeri klient Dockeri deemoniga, mis teostab hoone rasket tõstmist, töötab ja jagab ka meie Dockeri konteinereid. Põhimõtteliselt saavad nii Dockeri klient kui ka deemon töötada samas süsteemis. Saame ka Dockeri kliendi ühendada akaugelt Dockeri deemon. Lisaks saavad REST API abil Dockeri klient ja deemon suhelda UNIX-i pistikupesade või võrguliidese kaudu.

Dockeri arhitektuur

Dockeri arhitektuur kasutab kliendi-serveri mudelit ja koosneb Dockeri kliendist, Dockeri hostist, võrgu- ja salvestuskomponentidest ning Dockeri registrist / jaoturist. Vaatame neid kõiki üksikasjalikumalt.

Dockeri klient

Dockeri kasutajad saavad Dockeriga suhelda kliendi kaudu. Dockeri käskude käivitamisel saadab klient need dokkimisdemonile, mis need täidab. Dockeri API-d kasutavad Dockeri käsud. Dockeri kliendil on võimalik suhelda mitme deemoniga.

Dokkeri host

Dockeri host pakub rakenduste käivitamiseks ja käitamiseks täieliku keskkonna. See koosneb Dockeri deemonist, piltidest, mahutitest, võrkudest ja salvestusruumist. Nagu varem mainitud, vastutab deemon kõigi konteineritega seotud toimingute eest ja võtab käsud vastu CLI võiREST API. Samuti saab ta oma teenuste haldamiseks suhelda teiste deemonitega.

Dockeri objektid

1. Kujutised

Kujutised pole muud kui kirjutuskaitstud kahendmall, millega saab konteinereid ehitada. Need sisaldavad ka metaandmeid, mis kirjeldavad konteineri võimalusi ja vajadusi. Pilte kasutatakse rakenduste salvestamiseks ja saatmiseks. Pilti saab kasutada eraldi konteineri ehitamiseks või kohandada praeguse konfiguratsiooni laiendamiseks täiendavate elementide lisamiseks.

kraadiõppe tunnistus vs meistrid

Konteineripilte saate jagada ettevõtte meeskondade vahel privaatse konteinerregistri abil või jagada seda kogu maailmaga, kasutades sellist avalikku registrit nagu Docker Hub. Kujutised on Dockeri kogemuse põhielement, kuna need võimaldavad arendajate vahelist koostööd viisil, mis varem polnud võimalik

2. Konteinerid

Konteinerid on omamoodi kapseldatud keskkonnad, milles rakendusi käitate. Konteiner määratletakse pildi ja konteineri käivitamisel pakutavate täiendavate konfiguratsioonivõimalustega, sealhulgas võrguühenduste ja salvestusvalikutega. Konteineritel on juurdepääs ainult pildil määratletud ressurssidele, välja arvatud juhul, kui pildi konteinerisse ehitamisel on määratletud täiendav juurdepääs.

Uue pildi saate luua ka konteineri praeguse oleku põhjal. Kuna konteinerid on palju väiksemad kui VM-id, saab neid mõne sekundiga keerutada ja tulemuseks on palju parem serveri tihedus

3. Võrgustikud

Dockeri võrk on läbipääs, mille kaudu kogu isoleeritud konteiner suhtleb. Dokeris on peamiselt viis võrgudraiverit:

    1. Sild : See on konteineri vaikevõrgu draiver. Kasutate seda võrku, kui teie rakendus töötab eraldiseisvatel konteineritel, s.t mitme konteineriga, mis suhtlevad sama dokkimismasinaga.

    2. Peremees : See draiver eemaldab dokkimismahutite ja doki hosti vahelise võrguisolatsiooni. Saate seda kasutada, kui teil pole vaja hosti ja konteineri vahelist võrgu isolatsiooni.

    3. Ülekate : See võrk võimaldab sülemiteenustel omavahel suhelda. Kasutate seda siis, kui soovite, et konteinerid töötaksid erinevates Dockeri hostides, või kui soovite moodustada sülearvutiteenuseid mitme rakenduse abil.

    4. Puudub : See draiver keelab kogu võrguühenduse.

    5. macvlan : See draiver määrab konteineritele mac-aadressi, et need näeksid välja nagu füüsilised seadmed. See suunab konteinerite vahelise liikluse läbi nende mac-aadresside. Kasutate seda võrku, kui soovite, et VM-i seadistuse migreerimise ajal näeksid konteinerid välja nagu füüsiline seade.

4. Ladustamine

Andmeid saate salvestada konteineri kirjutatavasse kihti, kuid see nõuab salvestusdraiverit. Kuna see pole püsiv, hävib see alati, kui konteiner ei tööta. Pealegi pole nende andmete edastamine lihtne. Püsiva ladustamise osas pakub Docker nelja võimalust:

lingitud loendi kood c-s
    1. Andmemahud : Need võimaldavad luua püsiva salvestusruumi koos võimalusega ümber nimetada mahud, loendite mahud ja loetleda ka köitega seotud konteiner. Andmemahud paigutatakse hostifailisüsteemi väljaspool konteinerite kirjutusmehhanismi koopiaid ja on üsna tõhusad.

    2. Mahukonteiner : See on alternatiivne lähenemisviis, kus spetsiaalne konteiner majutab mahtu ja selle mahu kinnitamiseks teistesse mahutitesse. Sellisel juhul on mahumahuti rakenduse konteinerist sõltumatu ja seetõttu saate seda jagada rohkem kui ühe konteineri vahel.

    3. Kataloogi kinnitused : Teine võimalus on hosti kohaliku kataloogi ühendamine konteinerisse. Eelnevalt mainitud juhtudel peaksid köited asuma kaustas Dockeri köited, kataloogimälude osas võib köite allikana kasutada kõiki masina katalooge.

    4. Salvestuspluginad : Salvestuspluginad võimaldavad luua ühenduse väliste salvestusplatvormidega. Need pistikprogrammid kaardistavad salvestusruumi hostilt välisele allikale, näiteks salvestusmassiivi või seadmele. Dockeri pistikprogrammi lehel näete salvestuspluginate loendit.

Dockeri register

Dockeri registrid on teenused, mis pakuvad asukohti, kust saate pilte salvestada ja alla laadida. Teisisõnu, Dockeri register sisaldab Dockeri hoidlaid, mis hostivad ühte või mitut Docker Imagesit. Avalikud registrid sisaldavad kahte komponenti, nimelt Docker Hub ja Docker Cloud. Võite kasutada ka eraregistreid. Registritega töötamisel on kõige tavalisemad käsud: dokkeri tõukamine, doki tõmbamine, doki käitamine

Nüüd, kui olete Dockeri arhitektuurist aru saanud, vaadake seda autor Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik koosneb enam kui 250 000 rahulolevast õppijast ja mis levib üle kogu maailma. Edureka DevOpsi sertifitseerimiskoolitus aitab õppijatel mõista, mis on DevOps, ning omandada teadmisi mitmesuguste DevOpsi protsesside ja tööriistade kohta, nagu Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ja GIT SDLC mitme etapi automatiseerimiseks.

Kas teil on meile küsimus? Palun mainige seda selle “Dockeri arhitektuuri” kommentaaride jaotises ja me pöördume teie poole