Docker Arhitektura: Zakaj je to pomembno?



Ta blog razpravlja o arhitekturi dockerja in njegovih različnih komponentah. Poudarja funkcije dockerja, ki nam povejo razlog za njegovo priljubljenost.

Mnogi od nas verjamemo, da je Docker njegov sestavni del . Torej za tem neverjetnim orodjem mora obstajati neverjetna arhitektura. V tem blogu bom obravnaval vse, kar morate vedeti o arhitekturi Docker. Tu bom razpravljal o naslednjih točkah:

  1. Tradicionalna virtualizacija vs Docker
  2. Dockerjev potek dela
  3. Docker arhitektura

Tradicionalna virtualizacija vs Docker

Kaj je VM (navidezni stroj)?

VM je navidezni strežnik, ki posnema strežnik strojne opreme. Navidezni stroj se opira na fizično strojno opremo sistema, da posnema popolnoma isto okolje, v katerem nameščate svoje programe. Odvisno od primera uporabe lahko uporabite sistemski navidezni stroj (ki kot proces zažene celoten OS, ki vam omogoča, da navidezni stroj zamenjate z resničnim računalnikom) ali obdelate navidezne stroje, ki omogočajo samostojno izvajanje računalniških aplikacij v navideznem računalniku. okolje.





Prej smo ustvarjali navidezne stroje in vsak VM je imel operacijski sistem, ki je zavzel veliko prostora in ga naredil težkega.

Kaj je Docker?

Docker je odprtokodni projekt, ki ponuja rešitev za razvoj programske opreme, znano kot kontejnerji. Da bi razumeli Docker, morate vedeti, kaj so zabojniki. Po navedbah Docker , vsebnik je lahek, samostojen, izvedljiv paket programske opreme, ki vključuje vse, kar je potrebno za njegovo zagon.



Posode niso odvisne od platforme, zato lahko Docker deluje na platformah, ki temeljijo na sistemu Windows in Linux. Pravzaprav je Docker mogoče zagnati tudi v navideznem računalniku, če je to potrebno. Glavni namen Dockerja je, da vam omogoča zagon aplikacij mikro storitev v porazdeljeni arhitekturi.

V primerjavi z navideznimi stroji platforma Docker dvigne črpanje virov s strojne ravni na raven operacijskega sistema. To omogoča uresničitev različnih koristi zabojnikov npr. prenosljivost aplikacij, ločevanje infrastrukture in samostojne mikro storitve.

Z drugimi besedami, medtem ko navidezni stroji abstrahirajo celoten strežnik strojne opreme, vsebniki abstrahirajo jedro operacijskega sistema. To je povsem drugačen pristop k virtualizaciji in ima za posledico veliko hitrejše in lažje primere.



vm vs docker - docker arhitektura - edureka

kakšen je razred optičnega bralnika v javi

Dockerjev potek dela

Najprej si oglejmo Docker Engine in njegove komponente, tako da imamo osnovno predstavo o delovanju sistema. Docker Engine vam omogoča razvijanje, sestavljanje, pošiljanje in zagon aplikacij z uporabo naslednjih komponent:

  1. Docker Daemon : Trajni postopek v ozadju, ki upravlja Dockerjeve slike, vsebnike, omrežja in količine pomnilnika. Demon Docker nenehno posluša zahteve Docker API in jih obdeluje.

  2. Docker Engine REST API : API uporabljajo aplikacije za interakcijo z demonom Docker. Do njega lahko dostopa odjemalec HTTP.

  3. Docker CLI : Odjemalec vmesnika ukazne vrstice za interakcijo z demonom Docker. Bistveno poenostavi upravljanje primerov vsebnikov in je eden ključnih razlogov, zakaj razvijalci radi uporabljajo Docker.

Stranka Dockerja se najprej pogovori z demonom Docker, ki izvaja težke dvige zgradbe, vožnjo in distribucijo naših Dockerjevih zabojnikov. V bistvu lahko tako odjemalec Docker kot tudi demon delujeta v istem sistemu. Dockerjevega odjemalca lahko povežemo tudi zoddaljeni demon Docker. Poleg tega z uporabo API-ja REST odjemalec in demon Docker komunicirata prek vtičnic UNIX ali omrežnega vmesnika.

Docker arhitektura

Arhitektura Dockerja uporablja model odjemalec-strežnik in je sestavljena iz odjemalca Docker's, gostitelja Dockerja, komponent omrežja in pomnilnika ter registra / zvezdišča Docker. Poglejmo si vsakega od teh podrobneje.

Dockerjeva stranka

Uporabniki Dockerja lahko z Dockerjem komunicirajo prek odjemalca. Ko se zažene kateri koli ukaz za docker, jih odjemalec pošlje v demon dockerd, ki jih izvede. Docker API uporabljajo Dockerjevi ukazi. Odjemalec Dockerja lahko komunicira z več kot enim demonom.

Docker gostitelj

Gostitelj Docker ponuja popolno okolje za izvajanje in zagon aplikacij. Vsebuje demon Docker, slike, zabojnike, omrežja in shrambo. Kot smo že omenili, je demon odgovoren za vsa dejanja, povezana z vsebnikom, in prejema ukaze prek CLI ozAPI REST. Za upravljanje svojih storitev lahko komunicira tudi z drugimi demoni.

Predmeti Docker

1. Slike

Slike niso nič drugega kot binarna predloga samo za branje, ki lahko gradi vsebnike. Vsebujejo tudi metapodatke, ki opisujejo zmožnosti in potrebe vsebnika. Slike se uporabljajo za shranjevanje in pošiljanje aplikacij. Sliko lahko uporabimo samostojno za izdelavo vsebnika ali prilagodimo za dodajanje dodatnih elementov za razširitev trenutne konfiguracije.

Slike vsebnikov lahko delite med skupinami znotraj podjetja s pomočjo zasebnega registra vsebnikov ali pa jih delite s svetom z javnim registrom, kot je Docker Hub. Slike so osrednji element Dockerjeve izkušnje, saj omogočajo sodelovanje med razvijalci na način, ki prej ni bil mogoč

2. Zabojniki

Vsebniki so nekakšna zaprta okolja, v katerih zaženete aplikacije. Vsebnik je opredeljen s sliko in vsemi dodatnimi konfiguracijskimi možnostmi, ki so na voljo ob zagonu vsebnika, vključno z omrežnimi povezavami in možnostmi shranjevanja in ne omejeno nanje. Vsebniki imajo dostop samo do virov, ki so definirani na sliki, razen če je dodatni dostop opredeljen pri gradnji slike v vsebnik.

Na podlagi trenutnega stanja vsebnika lahko ustvarite tudi novo sliko. Ker so vsebniki veliko manjši od VM-jev, jih je mogoče zavrteti v nekaj sekundah in s tem doseči veliko boljšo gostoto strežnika

3. Omrežja

Dockerjevo omrežje je prehod, skozi katerega komunicira vsa izolirana posoda. V priklopniku je v glavnem pet omrežnih gonilnikov:

    1. Most : To je privzeti omrežni gonilnik za vsebnik. To omrežje uporabljate, ko se vaša aplikacija izvaja na samostojnih vsebnikih, tj. Več vsebnikih, ki komunicirajo z istim gostiteljskim priklopnikom.

    2. Voditelj : Ta gonilnik odstrani omrežno izolacijo med zabojniki dockerja in gostiteljem dockerja. Uporabite ga lahko, kadar ne potrebujete nobene omrežne izolacije med gostiteljem in vsebnikom.

    3. Prekrivanje : To omrežje omogoča storitvam roja medsebojno komunikacijo. Uporabite ga, kadar želite, da se zabojniki izvajajo na različnih gostiteljih Dockerja ali kadar želite iz več aplikacij oblikovati storitve roja.

    4. Nobenega : Ta gonilnik onemogoči vsa omrežja.

    5. macvlan : Ta gonilnik dodeli mac naslov vsebnikom, da so videti kot fizične naprave. Usmerja promet med zabojniki prek njihovih mac naslovov. To omrežje uporabljate, če želite, da so vsebniki na primer med selitvijo nastavitve VM videti kot fizična naprava.

4. Skladiščenje

Podatke lahko shranite v zapisljivo plast vsebnika, vendar zahteva gonilnik za shranjevanje. Ker ni obstojen, propade, kadar posoda ne deluje. Poleg tega ni enostavno prenesti teh podatkov. Glede trajnega shranjevanja ima Docker štiri možnosti:

    1. Podatkovni obseg : Omogočajo ustvarjanje trajnega pomnilnika z možnostjo preimenovanja nosilcev, seznama nosilcev in seznama vsebnika, ki je povezan z nosilcem. Podatkovni volumni so nameščeni v datotečnem sistemu gostitelja, zunaj mehanizma za kopiranje na zapisovalniku in so dokaj učinkoviti.

    2. Zabojnik za prostornino : Gre za alternativni pristop, pri katerem namenski vsebnik gosti volumen in ga pritrdi na druge vsebnike. V tem primeru je vsebnik volumna neodvisen od vsebnika aplikacije, zato ga lahko delite z več kot enim vsebnikom.

    3. Directory Mounts : Druga možnost je namestitev lokalnega imenika gostitelja v vsebnik. V prej omenjenih primerih bi morali biti nosilci v mapi Docker nosilci, medtem ko je pri imenikih Mounts kateri koli imenik na gostiteljski napravi mogoče uporabiti kot vir za nosilec.

    4. Vtičniki za shranjevanje : Vtičniki za shranjevanje omogočajo povezavo z zunanjimi pomnilniškimi platformami. Ti vtičniki preslikajo pomnilnik od gostitelja do zunanjega vira, kot je pomnilniško polje ali naprava. Seznam vtičnikov za shranjevanje si lahko ogledate na strani Docker's Plugin.

      razlika med vmesnikom in razredom v javi

Dockerjev register

Registri Docker so storitve, ki zagotavljajo lokacije, od koder lahko shranjujete in prenašate slike. Z drugimi besedami, Dockerjev register vsebuje Dockerjeve repozitorije, ki gostijo eno ali več Dockerjevih slik. Javni registri vključujejo dve komponenti, in sicer Docker Hub in Docker Cloud. Uporabite lahko tudi zasebne registre. Najpogostejši ukazi pri delu z registri vključujejo: potiskanje dockerja, vlečenje dockerja, zagon dockerja

Zdaj, ko ste razumeli Dockerjevo arhitekturo, si oglejte to Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tečaj Edureka DevOps Certification Training pomaga učencem, da razumejo, kaj je DevOps, in pridobijo strokovno znanje v različnih procesih in orodjih DevOps, kot so Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack in GIT za avtomatizacijo več korakov v SDLC.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje te 'Docker arhitekture', mi se vam bomo oglasili