Docker Architecture: Miért fontos?

Ez a blog a dokkoló architektúráját és annak különböző elemeit tárgyalja. Kiemeli a dokkoló tulajdonságait, amelyek megmondják népszerűségének okát.

Sokan úgy gondoljuk, hogy a Docker a szerves része . Tehát ennek a hihetetlen eszköznek egy csodálatos architektúrának kell lennie. Ebben a blogban mindent bemutatok, amit tudnia kell a Docker architektúráról. Ezeket a pontokat fogom itt megvitatni:



  1. Hagyományos virtualizáció vs Docker
  2. Docker's Workflow
  3. Docker építészet

Hagyományos virtualizáció Vs Docker

Mi az a virtuális gép (virtuális gép)?

A virtuális gép egy virtuális kiszolgáló, amely hardverkiszolgálót emulál. A virtuális gép a rendszer fizikai hardverére támaszkodva pontosan ugyanazt a környezetet utánozza, amelybe az alkalmazásokat telepíti. Felhasználási esetétől függően használhat egy rendszer virtuális gépet (amely egy teljes operációs rendszert futtat folyamatként, lehetővé téve, hogy egy valós gépet helyettesítsen egy virtuális géppel), vagy olyan virtuális gépeket, amelyek lehetővé teszik a számítógépes alkalmazások egyedüli végrehajtását a virtuális gépben környezet.



Korábban virtuális gépeket készítettünk, és mindegyik virtuális gépnek volt egy operációs rendszere, amely sok helyet foglalt el és megnehezítette.

Mi az a Docker?

A Docker egy nyílt forráskódú projekt, amely szoftverfejlesztő megoldást kínál, amely konténerek néven ismert. A Docker megértéséhez tudnia kell, hogy melyek a konténerek. Alapján Dokkmunkás , a tartály egy könnyű, önálló, futtatható csomag egy szoftverből, amely mindent tartalmaz, ami a futtatásához szükséges.



A konténerek platformfüggetlenek, ezért a Docker Windows és Linux alapú platformokon egyaránt futtatható. Valójában a Docker virtuális gépen belül is futtatható, ha erre szükség van. A Docker fő célja, hogy lehetővé tegye a mikroszolgáltatási alkalmazások futtatását elosztott architektúrában.

A virtuális gépekkel összehasonlítva a Docker platform az erőforrások absztrakcióját a hardver szintről az operációs rendszer szintjére emeli. Ez lehetővé teszi a konténerek különféle előnyeinek megvalósítását pl. az alkalmazások hordozhatósága, az infrastruktúra szétválasztása és az önálló mikroszolgáltatások.

különbség a módszer túlterhelése és a módszer felülbírálása között

Más szavakkal, míg a Virtuális gépek elválasztják a teljes hardverkiszolgálót, a Containers elvonatkoztatja az operációs rendszer kerneljét. Ez egy teljesen más megközelítés a virtualizációhoz, és sokkal gyorsabb és könnyebb példányokat eredményez.



vm vs dokkoló - dokkoló architektúra - edureka

Docker's Workflow

Először nézzük meg a Docker Engine-t és annak alkatrészeit, hogy alapvető elképzelésünk legyen a rendszer működéséről. A Docker Engine lehetővé teszi alkalmazások fejlesztését, összeállítását, szállítását és futtatását a következő összetevők felhasználásával:

  1. Docker Daemon : Tartós háttérfolyamat, amely a Docker képeket, tárolókat, hálózatokat és tárolóköteteket kezeli. A Docker démon folyamatosan figyeli a Docker API kéréseket és feldolgozza azokat.

  2. Docker Engine REST API : Az alkalmazások egy API-t használnak a Docker démonra való interakcióhoz. Hozzáférhet egy HTTP kliens által.

  3. Docker CLI : Parancssori interfész kliens a Docker démonnal való interakcióhoz. Jelentősen leegyszerűsíti a tárolópéldányok kezelését, és ez az egyik legfontosabb oka annak, hogy a fejlesztők szeretik használni a Dockert.

Eleinte a Docker kliens beszél a Docker démonnal, amely elvégzi az épület súlyos emelését, futását, valamint a Docker konténereink kiosztását. Alapvetően mind a Docker kliens, mind a démon ugyanazon a rendszeren futtatható. Csatlakoztathatunk egy Docker klienst a távoli Docker démon. Ezenkívül a REST API használatával a Docker kliens és a démon kommunikál UNIX foglalatokon vagy hálózati interfészen keresztül.

Docker építészet

A Docker architektúrája kliens-szerver modellt használ, és a Docker klienséből, a Docker Host, a Hálózat és a Tárolás komponensekből és a Docker Registry / Hubból áll. Nézzük meg ezeket mind részletesen.

Docker’s Client

A Docker felhasználói kliensen keresztül léphetnek kapcsolatba a Dockerrel. Ha bármelyik dokkoló parancs fut, az ügyfél elküldi őket a dockerd démonnak, amely végrehajtja őket. A Docker API-t a Docker parancsok használják. A Docker kliens több démonnal is kommunikálhat.

Docker Host

A Docker gazdagép teljes körű környezetet biztosít az alkalmazások futtatásához és futtatásához. A Docker démon, a Képek, a Konténerek, a Hálózatok és a Tárolás elemeket tartalmazza. Mint korábban említettük, a démon felelős minden tárolóval kapcsolatos műveletért, és parancsokat fogad a CLI vagy a CLI-n keresztül a REST API. Szolgáltatásainak kezelése érdekében kommunikálhat más démonokkal is.

Docker Objects

1. Képek

A képek nem más, mint egy csak olvasható bináris sablon, amely tárolókat készíthet. Tartalmaznak metaadatokat is, amelyek leírják a tároló képességeit és igényeit. A képeket alkalmazások tárolására és szállítására használják. A kép önmagában használható tároló készítéséhez, vagy testreszabható további elemek hozzáadásával az aktuális konfiguráció kibővítéséhez.

Megoszthatja a tároló képeket a vállalaton belül egy privát tároló-nyilvántartás segítségével, vagy megoszthatja a világgal egy olyan nyilvános nyilvántartás segítségével, mint a Docker Hub. A képek a Docker-élmény központi eleme, mivel lehetővé teszik az együttműködést a fejlesztők között oly módon, amire korábban nem volt lehetőség

2. Konténerek

A tárolók egyfajta tokozott környezetek, amelyekben alkalmazásokat futtat. A tárolót a kép és a tároló indításakor rendelkezésre álló további konfigurációs lehetőségek határozzák meg, beleértve és nem kizárólag a hálózati kapcsolatokat és a tárolási lehetőségeket. A tárolók csak a képben meghatározott erőforrásokhoz férhetnek hozzá, kivéve, ha a kép tárolóba történő beépítésekor további hozzáférés van meghatározva.

A tároló jelenlegi állapota alapján új képet is létrehozhat. Mivel a tárolók sokkal kisebbek, mint a virtuális gépek, pillanatok alatt fel lehet őket forgatni, és sokkal jobb kiszolgálósűrűséget eredményeznek

3. Hálózatok

A Docker hálózat egy átjáró, amelyen keresztül az összes elszigetelt konténer kommunikál. A dokkolóban főleg öt hálózati illesztőprogram található:

    1. Híd : A tároló alapértelmezett hálózati illesztőprogramja. Akkor használja ezt a hálózatot, ha az alkalmazás önálló tárolókon fut, azaz több tároló kommunikál ugyanazzal a dokkoló állomással.

    2. Házigazda : Ez az illesztőprogram eltávolítja a dokkoló-tárolók és a dokkoló-állomás közötti hálózati elkülönítést. Akkor használhatja, ha nincs szüksége hálózati elkülönítésre a gazdagép és a tároló között.

    3. Overlay : Ez a hálózat lehetővé teszi, hogy a raj szolgáltatásai kommunikáljanak egymással. Akkor használja, ha azt szeretné, hogy a tárolók különböző Docker-állomásokon fussanak, vagy ha több alkalmazással kíván rajtszolgáltatásokat létrehozni.

    4. Egyik sem : Ez az illesztőprogram letiltja az összes hálózatot.

    5. macvlan : Ez az illesztőprogram mac címet rendel a tárolókhoz, hogy fizikai eszköznek tűnjenek. A konténerek közötti forgalmat a mac-címeiken keresztül irányítja. Akkor használja ezt a hálózatot, ha azt szeretné, hogy a tárolók fizikai eszköznek tűnjenek, például a virtuális gép beállításainak áttelepítése közben.

4. Tárolás

Az adatokat a tároló írható rétegében tárolhatja, de ehhez tároló-illesztőprogramra van szükség. Mivel nem tartós, elpusztul, ha a tároló nem fut. Ezenkívül nem könnyű továbbítani ezeket az adatokat. A tartós tárolással kapcsolatban a Docker négy lehetőséget kínál:

    1. Adatmennyiségek : Lehetővé teszik a tartós tárhely létrehozását, átnevezhetik a köteteket, a köteteket, és felsorolják a kötethez társított tárolót is. Az adatmennyiségek a gazdagép fájlrendszeren vannak elhelyezve, a tárolókon kívül másolódnak az írási mechanizmuson, és meglehetősen hatékonyak.

    2. Kötet konténer : Ez egy alternatív megközelítés, amikor egy dedikált tároló tárol egy kötetet, és ezt a kötetet más tárolókhoz rögzíti. Ebben az esetben a kötet tárolója független az alkalmazás tárolójától, ezért több tárolón is megoszthatja.

    3. Könyvtártartók : Egy másik lehetőség az, hogy a gazdagép helyi könyvtárát csatolja egy tárolóba. A korábban említett esetekben a köteteknek a Docker kötetek mappájában kell lenniük, míg a Directory Mounts kapcsán a gazdagép bármelyik könyvtárát fel lehet használni a kötet forrásaként.

    4. Tárolási bővítmények : A tároló plug-inek lehetővé teszik a külső tároló platformokhoz való csatlakozást. Ezek a beépülő modulok a tárhelyet a gazdagéptől egy külső forráshoz, például egy tárolótömbhöz vagy egy eszközhöz társítják. A tároló bővítmények listáját a Docker Plugin oldalán tekintheti meg.

Docker nyilvántartása

A Docker regiszterek olyan helyszíneket nyújtanak, ahonnan képek tárolhatók és letölthetők. Más szavakkal, a Docker-nyilvántartás olyan Docker-adattárakat tartalmaz, amelyek egy vagy több Docker Image-t tárolnak. A nyilvános nyilvántartások két komponenst tartalmaznak, nevezetesen a Docker Hubot és a Docker Cloud-ot. Használhatja a privát nyilvántartásokat is. A regiszterekkel való munkavégzés során a leggyakoribb parancsok a következők: dokkoló push, dokkoló húzás, dokkoló futás

Most, hogy megértette a Docker architektúrát, nézze meg ezt az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka DevOps tanúsító tanfolyam segít a tanulóknak megérteni, mi a DevOps, és szert kell szerezni a különféle DevOps folyamatok és eszközök, például a Báb, a Jenkins, a Nagios, az Ansible, a Chef, a Saltstack és a GIT számára az SDLC több lépésének automatizálásához.

Van egy kérdésünk? Kérjük, említse meg a „Docker Architecture” megjegyzés rovatában, és mi még kapcsolatba lépünk Önnel