Docker-arkkitehtuuri: Miksi se on tärkeää?



Tässä blogissa käsitellään telakointiaseman arkkitehtuuria ja sen eri osia. Se korostaa telakointiaseman ominaisuuksia, jotka kertovat syyn sen suosioon.

Monet meistä uskovat, että Docker on olennainen osa . Joten tämän uskomattoman työkalun takana on oltava upea arkkitehtuuri. Tässä blogissa käsittelen kaikkea mitä sinun on tiedettävä Docker-arkkitehtuurista. Näistä asioista keskustelen täällä:

  1. Perinteinen virtualisointi vs Docker
  2. Dockerin työnkulku
  3. Docker-arkkitehtuuri

Perinteinen virtualisointi Vs Docker

Mikä on virtuaalikone (virtuaalikone)?

VM on virtuaalipalvelin, joka jäljittelee laitteistopalvelinta. Virtuaalikone luottaa järjestelmän fyysiseen laitteistoon jäljittelemään täsmälleen samaa ympäristöä, johon asennat sovelluksesi. Käyttötapauksesta riippuen voit käyttää järjestelmän virtuaalikonetta (joka suorittaa koko käyttöjärjestelmän prosessina, jolloin voit korvata todellisen koneen virtuaalikoneella) tai käsitellä virtuaalikoneita, joiden avulla voit suorittaa tietokoneohjelmia yksin virtuaalikoneessa ympäristössä.





Aikaisemmin käytimme luomaan virtuaalikoneita, ja jokaisella virtuaalikoneella oli käyttöjärjestelmä, joka vei paljon tilaa ja teki siitä raskaan.

Mikä on Docker?

Docker on avoimen lähdekoodin projekti, joka tarjoaa ohjelmistokehitysratkaisun, joka tunnetaan nimellä kontit. Dockerin ymmärtämiseksi sinun on tiedettävä, mitkä kontit ovat. Mukaan Satamatyöläinen , kontti on kevyt, erillinen, suoritettava paketti ohjelmistosta, joka sisältää kaiken, mitä sen suorittamiseen tarvitaan.



Kontit ovat alustasta riippumattomia, joten Docker voi toimia sekä Windows- että Linux-alustoilla. Itse asiassa Dockeria voidaan käyttää myös virtuaalikoneessa, jos siihen on tarvetta. Dockerin päätarkoitus on, että sen avulla voit suorittaa mikropalvelusovelluksia hajautetussa arkkitehtuurissa.

Virtuaalikoneisiin verrattuna Docker-alusta siirtää resurssienoton laitteistotasolta käyttöjärjestelmälle. Tämä mahdollistaa konttien erilaisten etujen toteuttamisen esim. sovellusten siirrettävyys, infrastruktuurin erottaminen ja itsenäiset mikropalvelut.

Toisin sanoen, vaikka virtuaalikoneet abstraktoivat koko laitteistopalvelimen, Containers abstraktio käyttöjärjestelmän ytimen. Tämä on täysin erilainen lähestymistapa virtualisointiin ja johtaa paljon nopeampiin ja kevyempiin ilmentymiin.



vm vs docker - docker-arkkitehtuuri - edureka

Dockerin työnkulku

Tarkastellaan ensin Docker Engineä ja sen osia, jotta meillä on perusajatus järjestelmän toiminnasta. Docker Enginen avulla voit kehittää, koota, toimittaa ja käyttää sovelluksia seuraavilla komponenteilla:

  1. Docker Daemon : Jatkuva taustaprosessi, joka hallitsee Docker-kuvia, säilöjä, verkkoja ja tallennustilavuuksia. Docker-daemon kuuntelee jatkuvasti Docker API -sovelluspyyntöjä ja käsittelee niitä.

  2. Docker Engine REST -sovellusliittymä : Sovellukset käyttävät API: ta vuorovaikutuksessa Docker-daemonin kanssa. Sitä voi käyttää HTTP-asiakas.

  3. Docker CLI : Komentoriviliittymäasiakas vuorovaikutuksessa Docker-daemonin kanssa. Se yksinkertaistaa huomattavasti kontti-ilmentymien hallintaa ja on yksi tärkeimmistä syistä, miksi kehittäjät rakastavat Dockerin käyttöä.

Aluksi Docker-asiakas keskustelee Docker-daemonin kanssa, joka suorittaa rakennuksen raskaan nostamisen, juoksemisen sekä Docker-konttien jakamisen. Periaatteessa sekä Docker-asiakas että daemon voivat toimia samassa järjestelmässä. Voimme myös yhdistää Docker-asiakkaan aetäinen Docker-daemon. Lisäksi Docker-asiakasohjelma ja daemon kommunikoivat REST-sovellusliittymän avulla UNIX-liitäntöjen tai verkkoliitännän kautta.

Docker-arkkitehtuuri

Docker-arkkitehtuuri käyttää asiakas-palvelin-mallia ja se koostuu Docker's Client-, Docker Host-, verkko- ja tallennuskomponenteista sekä Docker Registry / Hub -sovelluksesta. Tarkastellaan kaikkia näitä yksityiskohtaisesti.

Dockerin asiakas

Dockerin käyttäjät voivat olla vuorovaikutuksessa Dockerin kanssa asiakkaan kautta. Kun telakointikomentoja suoritetaan, asiakas lähettää ne telakointidemoniin, joka suorittaa ne. Docker-sovellusliittymää käyttävät Docker-komennot. Docker-asiakas voi olla yhteydessä useampaan kuin yhteen daemoniin.

Docker-isäntä

Docker-isäntä tarjoaa täydellisen ympäristön sovellusten suorittamiseen ja suorittamiseen. Se sisältää Docker-daemonin, kuvat, kontit, verkot ja tallennustilan. Kuten aiemmin mainittiin, daemon on vastuussa kaikista säilöihin liittyvistä toiminnoista ja vastaanottaa komentoja CLI: n taiREST-sovellusliittymä. Se voi myös olla yhteydessä muihin demoneihin palvelujensa hallitsemiseksi.

Docker-objektit

1. Kuvat

Kuvat ovat vain lukukelpoinen binaarimalli, joka voi rakentaa säilöjä. Ne sisältävät myös metatietoja, jotka kuvaavat säilön ominaisuuksia ja tarpeita. Kuvia käytetään sovellusten tallentamiseen ja lähettämiseen. Kuvaa voidaan käyttää yksinään säilön rakentamiseen tai mukautettu lisäämään lisäelementtejä nykyisen kokoonpanon laajentamiseksi.

Voit jakaa säilökuvat yrityksen joukkueiden välillä yksityisen säiliörekisterin avulla tai jakaa sen maailman kanssa julkisella rekisterillä, kuten Docker Hub. Kuvat ovat Docker-kokemuksen ydin, koska ne mahdollistavat kehittäjien välisen yhteistyön tavalla, joka ei ollut mahdollista aikaisemmin

2. Kontit

Säilöt ovat eräänlaisia ​​kapseloituja ympäristöjä, joissa suoritat sovelluksia. Säiliö määritetään kuvan ja mahdollisten lisäasetusten avulla, jotka tarjotaan säilön käynnistämisen yhteydessä, mukaan lukien verkkoyhteydet ja tallennusvaihtoehdot. Säilöillä on pääsy vain kuvassa määriteltyihin resursseihin, ellei lisäoikeuksia määritetä rakennettaessa kuvaa säilöön.

visuaalisen studion oppaat aloittelijoille

Voit myös luoda uuden kuvan säilön nykyisen tilan perusteella. Koska kontit ovat paljon pienempiä kuin virtuaalikoneet, ne voidaan kehrätä muutamassa sekunnissa, mikä johtaa paljon parempaan palvelintiheyteen

3. Verkot

Docker-verkko on käytävä, jonka läpi kaikki eristetyt kontit kommunikoivat. Telakointiasemassa on pääasiassa viisi verkkoajuria:

    1. Silta : Se on oletusarvoinen verkkoajuri säilölle. Käytät tätä verkkoa, kun sovelluksesi on käynnissä erillisissä säilöissä, ts. Useissa säilöissä, jotka ovat yhteydessä samaan telakointiasemaan.

    2. Isäntä : Tämä ohjain poistaa verkkoeristyksen telakointisäiliöiden ja telakointiaseman välillä. Voit käyttää sitä, kun et tarvitse mitään verkkoeristystä isännän ja säilön välillä.

    3. Päällekkäin : Tämä verkko mahdollistaa parvi-palveluiden kommunikoinnin keskenään. Käytät sitä, kun haluat, että säilöt toimivat eri Docker-isännöillä, tai kun haluat muodostaa parvekepalveluja useilla sovelluksilla.

    4. Ei mitään : Tämä ohjain poistaa kaiken verkkoyhteyden käytöstä.

    5. macvlan : Tämä ohjain määrittää mac-osoitteen säilöille, jotta ne näyttävät fyysisiltä laitteilta. Se reitittää konttien välisen liikenteen niiden mac-osoitteiden kautta. Voit käyttää tätä verkkoa, kun haluat säilöjen näyttävän fyysisiltä laitteilta esimerkiksi siirtäessäsi virtuaalikoneen asetuksia.

4. Varastointi

Voit tallentaa tietoja säilön kirjoitettavaan kerrokseen, mutta se vaatii tallennusohjaimen. Koska se ei ole pysyvä, se häviää aina, kun kontti ei ole käynnissä. Lisäksi näiden tietojen siirtäminen ei ole helppoa. Pysyvän varastoinnin suhteen Docker tarjoaa neljä vaihtoehtoa:

    1. Tietomäärät : Ne tarjoavat mahdollisuuden luoda pysyvää tallennustilaa, kykenevän nimeämään uudelleen volyymit, luetteloimaan volyymit ja luetteloimaan myös volyymiin liittyvät säilöt. Tietomäärät sijoitetaan isäntätiedostojärjestelmään, konttien kopioinnin kirjoitusmekanismin ulkopuolelle ja ovat melko tehokkaita.

    2. Tilavuusastia : Se on vaihtoehtoinen lähestymistapa, jossa erillinen säiliö isännöi tilavuutta ja asentaa tämä tilavuus muihin astioihin. Tässä tapauksessa volyymisäiliö on riippumaton sovellussäiliöstä, joten voit jakaa sen useammalle kuin yhdelle säiliölle.

    3. Hakemistokiinnikkeet : Toinen vaihtoehto on asentaa isännän paikallinen hakemisto säilöön. Aikaisemmin mainituissa tapauksissa levykkeiden olisi oltava Docker-taltiot-kansiossa, kun taas Directory Mounts -sovelluksessa mitä tahansa isäntäkoneen hakemistoa voidaan käyttää levyn lähteenä.

    4. Tallennuslaajennukset : Tallennuslaajennukset tarjoavat mahdollisuuden muodostaa yhteys ulkoisiin tallennusalustoihin. Nämä laajennukset kartoittavat tallennustilaa isännästä ulkoiseen lähteeseen, kuten tallennusryhmään tai laitteeseen. Luettelo tallennuslaajennuksista on Dockerin laajennussivulla.

Dockerin rekisteri

Docker-rekisterit ovat palveluja, jotka tarjoavat sijainteja, joihin voit tallentaa ja ladata kuvia. Toisin sanoen, Docker-rekisteri sisältää Docker-arkistoja, jotka isännöivät yhtä tai useampaa Docker-kuvaa. Julkiset rekisterit sisältävät kaksi komponenttia, nimittäin Docker Hubin ja Docker Cloudin. Voit käyttää myös yksityisiä rekistereitä. Yleisimpiä komentoja rekisterien kanssa työskenneltäessä ovat: telakointiasema, telakointiasema, telakointiajo

Nyt kun olet ymmärtänyt Docker-arkkitehtuurin, tarkista tämä Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edureka DevOps -sertifiointikoulutuskurssi auttaa oppijoita ymmärtämään DevOpsia ja saa asiantuntemusta erilaisista DevOps-prosesseista ja työkaluista, kuten Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ja GIT SDLC: n useiden vaiheiden automatisoimiseksi.

Onko sinulla kysymys meille? Mainitse se tämän 'Docker Architecture' -kommenttiosassa ja palaamme sinuun