Ismerkedjünk meg a Docker architektúrával és alapvető összetevőivel.
Feltételezem, hogy alapvető ismeretekkel rendelkezik a Dockerről. Ha nem, akkor hivatkozhat erre az előző cikkre.
Úgy gondolom, hogy megértette a Docker fontosságát a DevOps-ban. Most e fantasztikus eszköz mögött egy csodálatos, jól átgondolt architektúrának kell lennie. nem igaz?
Mielőtt azonban erről beszélnék, hadd mutassam be a korábbi és a jelenlegi virtualizációs rendszereket.
Tartalomjegyzék
Hagyományos vs. új generációs virtualizáció
Korábban virtuális gépeket hoztunk létre, és minden virtuális gépnek volt egy operációs rendszere, amely sok helyet foglalt és nehézzé tette.
Most a docker-tároló esetében egyetlen operációs rendszerrel rendelkezik, és az erőforrások meg vannak osztva a tárolók között. Ezért könnyű és pillanatok alatt elindul.
Docker építészet
Az alábbiakban egy Docker architektúra egyszerű diagramja látható.
Hadd magyarázzam el a docker architektúra összetevőit.
Docker motor
Ez az egész Docker rendszer központi része. A Docker Engine egy olyan alkalmazás, amely a kliens-szerver architektúrát követi. Telepítve van a gazdagépen. A Docker Engine három összetevőből áll:
- Szerver: Ez a dockerd nevű docker démon. Docker képeket hozhat létre és kezelhet. Konténerek, hálózatok stb.
- Rest API: A docker démon utasítására szolgál, hogy mit tegyen.
- Command Line Interface (CLI): Ez egy kliens, amely a docker parancsok bevitelére szolgál.
Docker kliens
A Docker-felhasználók kliensen keresztül léphetnek kapcsolatba a Dockerrel. Amikor bármely docker parancs lefut, az ügyfél elküldi azokat a dockerd démonnak, amely végrehajtja azokat. A Docker API-t a Docker parancsok használják. A Docker kliens egynél több démonnal tud kommunikálni.
Docker nyilvántartások
Ez az a hely, ahol a Docker-képeket tárolják. Lehet nyilvános docker-nyilvántartás vagy privát docker-nyilvántartás. A Docker Hub a docker képek alapértelmezett helye, üzleteinek nyilvános nyilvántartása. Saját nyilvántartást is létrehozhat és futtathat.
A Docker pull vagy Docker Run parancsok végrehajtásakor a szükséges docker lemezkép lekérésre kerül a konfigurált beállításjegyzékből. Amikor végrehajtja a Docker push parancsot, a docker lemezkép a konfigurált beállításjegyzékben tárolódik.
Docker objektumok
Amikor a Dockerrel dolgozik, képeket, tárolókat, köteteket, hálózatokat használ; ezek mind Docker objektumok.
Képek
A Docker-képek írásvédett sablonok, amelyek utasításokat tartalmaznak egy docker-tároló létrehozására. A Docker kép lekérhető egy Docker hubról, és úgy használható, ahogy van, vagy hozzáadhat további utasításokat az alapképhez, és létrehozhat egy új és módosított docker képet. Saját docker-képeket is létrehozhat egy dockerfájl használatával. Hozzon létre egy dockerfájlt az összes utasítással a tároló létrehozásához, és futtassa azt; létrehozza az egyéni docker-képet.
A Docker-képnek van egy csak olvasható alaprétege, és a felső réteg írható. Amikor szerkeszt egy dockerfájlt, és újraépíti, csak a módosított rész kerül újraépítésre a felső rétegben.
Konténerek
A docker-lemezkép futtatása után létrehoz egy docker-tárolót. Az összes alkalmazás és környezetük ebben a tárolóban fut. A Docker API vagy CLI segítségével elindíthat, leállíthat és törölhet egy Docker-tárolót.
Az alábbiakban egy mintaparancs látható egy ubuntu docker-tároló futtatásához:
docker run -i -t ubuntu /bin/bash
Kötetek
A Docker által generált és a Docker-tárolók által használt, állandó adatokat a kötetek tárolják. Ezeket teljes mértékben a docker kezeli a docker CLI-n vagy a Docker API-n keresztül. A kötetek Windows és Linux konténereken is működnek. Ahelyett, hogy az adatok egy tároló írható rétegében maradnának, mindig jó lehetőség köteteket használni hozzá. A kötet tartalma a tároló életciklusán kívül létezik, így a térfogat használata nem növeli a tároló méretét.
A -v vagy a -mount kapcsolóval elindíthat egy kötetet tartalmazó tárolót. Ebben a példaparancsban a geekvolume kötetet etoppc.com tárolóval használja.
docker run -d --name etoppc.com -v geekvolume:/app nginx:latest
Hálózatok
A Docker hálózat egy olyan átjáró, amelyen keresztül az összes elszigetelt tároló kommunikál. Főleg öt hálózati illesztőprogram található a dockerben:
Következtetés
Remélem, ez ad képet a Docker architektúráról és annak alapvető összetevőiről. Navigáljon a Docker körül, ha többet szeretne megtudni, és ha szeretne gyakorlati képzést kapni, nézze meg ezt Docker Mastery tanfolyam.
Élvezettel olvastad a cikket? Mit szólnál a világgal való megosztáshoz?