Docker bemutató - Bevezetés a dokkolóba és a konténerbe



Ebben a Docker oktatóanyagban meg fogja érteni a Docker mögött rejlő szükségességet, és megismerheti a Docker bemutatóját. Ez a Docker oktatósorozat első blogja

Remélem, nem hiányolta a korábbi DevOps bemutató blogok sorozatát. Menj át a itt.A Docker konténerek elérhetetlen tendenciája növekszik, és a szervezetek olyan szakembereket keresnek, akik rendelkeznek birtoklással .Most ezúttal egy Bevezetés a Dockerbe című cikket mutatjuk be.

Docker bemutató

Ez a Docker bemutató blog fogalmi és gyakorlati kitettséget nyújt Önnek a Docker - egy új korú konténerezés technológiája számára.





Ebben a blogban az alábbi témákra fogunk koncentrálni:

  • Mi a virtualizáció?
  • Mi a konténerezés
  • A konténerezés előnyei a virtualizációval szemben
  • Bevezetés a Docker-be
  • A Docker előnyei
  • Virtualizáció vs konténerezés
  • Docker telepítése
  • Dockerfile, Docker Image és Docker Container
  • Mi az a Docker Hub?
  • Docker építészet
  • Docker Compose

A Docker egyre népszerűbb, és használata futótűzként terjed. A Docker növekvő népszerűségének oka az, hogy mennyire használható fel egy informatikai szervezetben. Nagyon kevés eszköz rendelkezik olyan funkcióval, amely hasznos lehet mind a fejlesztők, mind a rendszergazdák számára. A Docker egy ilyen eszköz, amely valóban beváltja ígéretét Épít , Hajó és Fuss .



Egyszerű szavakkal, a Docker egy szoftveres konténer platform, ami azt jelenti, hogy elkészítheti alkalmazását, csomagolhatja őket a függőségükkel együtt egy konténerbe, majd ezeket a tárolókat könnyen szállíthatják, hogy más gépeken fussanak.

Például: Vizsgáljuk meg egy linux alapú alkalmazást, amelyet mind Ruby, mind Python nyelven írtak. Ehhez az alkalmazáshoz a linux, a Ruby és a Python meghatározott verziójára van szükség. A felhasználói verziókonfliktusok elkerülése érdekében létrehozható egy linux-dokkoló konténer az alkalmazással együtt telepítve a szükséges Ruby és Python verziókkal. Most a végfelhasználók könnyen használhatják az alkalmazást a tároló futtatásával, anélkül, hogy aggódnának a függőségek vagy a verziókonfliktusok miatt.

Ezek a konténerek a Containerization alkalmazást használják, amely a virtualizáció továbbfejlesztett változatának tekinthető. Ugyanezt a feladatot el lehet érni a virtuális gépek használatával is, azonban ez nem túl hatékony.



Ilyenkor általában kapok egy kérdést, vagyis mi a különbség a virtualizáció és a konténerezés között? Ez a két kifejezés nagyon hasonlít egymásra. Tehát hadd mondjam el először, hogy mi a virtualizáció?

Mi a virtualizáció?

A virtualizáció a vendég operációs rendszer importálásának technikája a Host operációs rendszer tetején. Ez a technika kezdetben kinyilatkoztatás volt, mert lehetővé tette a fejlesztők számára, hogy több operációs rendszert futtassanak különböző virtuális gépeken, ugyanazon a gazdagépen futva. Ez kiküszöbölte az extra hardvererőforrások szükségességét. A virtuális gépek vagy a virtualizáció előnyei:

  • Több operációs rendszer is futtatható ugyanazon a gépen
  • A meghibásodás esetén a karbantartás és a helyreállítás egyszerű volt
  • A teljes tulajdonlási költség is alacsonyabb volt az infrastruktúra iránti csökkent igény miatt

Virtuális gép architektúra - Docker bemutató a Docker bemutatásához - Edureka

A jobb oldali ábrán láthatja, hogy van egy gazdagép operációs rendszer, amelyen 3 vendég operációs rendszer fut, amely nem más, mint a virtuális gépek.

Mivel tudod, hogy semmi sem tökéletes, a virtualizációnak is vannak hiányosságai. Több virtuális gép futtatása ugyanazon gazdagép operációs rendszerben a teljesítmény romlásához vezet. Ez annak köszönhető, hogy a vendég operációs rendszer fut a gazda operációs rendszer tetején, amelynek saját rendszermagja, könyvtárai és függőségei lesznek. Ez nagy részét foglalja el a rendszererőforrásokból, azaz a merevlemezből, a processzorból és különösen a RAM-ból.

A virtualizációt használó virtualizációs gépek másik problémája az, hogy csaknem egy percet vesz igénybe az indítás.Ez nagyon fontos valós idejű alkalmazások esetén.

A virtualizáció hátrányai a következők:

  • Több virtuális gép futtatása instabil teljesítményhez vezet
  • A hipervizorok nem annyira hatékonyak, mint a gazdagép operációs rendszere
  • Az indítási folyamat hosszú és időbe telik

Ezek a hátrányok egy új technika megjelenéséhez vezettek, a Containerization néven. Most hadd meséljek a konténerezésről.

Mi a konténerezés?

A konténerezés a virtualizáció operációs rendszer szintjére emelésének technikája. Míg a virtualizáció absztrakciót hoz a hardverbe, a Containerization absztrakciót hoz az operációs rendszerbe. Ne feledje, hogy a konténerezés is egyfajta virtualizáció. A konténerezés azonban hatékonyabb, mert itt nincs vendég OS, és a host operációs rendszerét használja, a virtuális gépektől eltérően szükség szerint megoszthatja a releváns könyvtárakat és erőforrásokat. Alkalmazásspecifikus bináris fájlok és tárolók könyvtárai futnak a hoszt kernelén, ami nagyon gyorsá teszi a feldolgozást és a végrehajtást. Még egy konténer feltöltése is csak a másodperc töredékét veszi igénybe. Mivel az összes tároló megosztja, üzemelteti az operációs rendszert, és csak az alkalmazással kapcsolatos bináris fájlokat és könyvtárakat tárolja. Könnyűek és gyorsabbak, mint a virtuális gépek.

A konténerezés előnyei a virtualizációval szemben:

  • Az ugyanazon operációs rendszermagon lévő tárolók könnyebbek és kisebbek
  • Jobb erőforrás-kihasználás a virtuális gépekhez képest
  • Az indítási folyamat rövid és néhány másodpercet vesz igénybe

A jobb oldali ábrán látható, hogy van egy gazdagép operációs rendszer, amelyet az összes tároló megoszt. A konténerek csak olyan alkalmazásspecifikus könyvtárakat tartalmaznak, amelyek minden tárolóhoz külön vannak, gyorsabbak és nem pazarolnak semmilyen erőforrást.

Ezeket a tárolókat a tároló réteg kezeli, amely nem honos a gazdagép operációs rendszerében. Ezért szükség van egy szoftverre, amely lehetővé teszi konténerek létrehozását és futtatását a gazdagép operációs rendszerén.

mi hibernálódik a java-ban

Nézze meg ezt a Docker oktatóvideót a Docker alapos megértéséhez.

Docker bemutató kezdőknek | Mi az a Docker? | DevOps Tools | Edureka

Most hadd vezessem át a Docker bevezetését.

Docker bemutató - Bevezetés a Dockerbe

A Docker egy konténer platform, amely az alkalmazást és annak összes függőségét konténerek formájában csomagolja össze annak érdekében, hogy az alkalmazás zökkenőmentesen működjön bármilyen környezetben.

Amint a jobb oldali ábrán látható, minden alkalmazás külön tárolóban fog futni, és saját könyvtárakkal és függőségekkel rendelkezik. Ez biztosítja a folyamatszintű elszigetelést is, vagyis minden alkalmazás független a többi alkalmazástól, biztosítva ezzel a fejlesztők számára, hogy olyan alkalmazásokat készíthetnek, amelyek nem zavarják egymást.

Fejlesztőként fel tudok építeni egy olyan tárolót, amelyre különböző alkalmazások vannak telepítve, és odaadhatom a minőségbiztosítási csapatomnak, akinek csak a tárolót kell futtatnia a fejlesztői környezet megismétléséhez.

A Docker előnyei

Most a minőségbiztosítási csapatnak nem kell telepítenie az összes függő szoftvert és alkalmazást a kód teszteléséhez, és ez sok időt és energiát takarít meg. Ez biztosítja azt is, hogy a munkakörnyezet következetes legyen a folyamatban részt vevő személyek között, a fejlesztéstől a telepítésig. A rendszerek száma könnyen felosztható, és a kód könnyedén telepíthető rajtuk.

Virtualizáció vs konténerezés

A virtualizáció és a tárolás lehetővé teszi több operációs rendszer futtatását a gazdagépen belül.

A virtualizáció számos operációs rendszer létrehozásával foglalkozik egyetlen gépen. A konténerezés viszont szükség szerint több tárolót hoz létre minden típusú alkalmazáshoz.

Ábra: Mi a Big Data Analytics - Virtualizáció versus konténerezés

Amint a képen láthatjuk, a legfőbb különbség az, hogy a virtualizációban több olyan vendég operációs rendszer létezik, amelyek hiányoznak a konténerezésből. A konténerezés legjobb része az, hogy nagyon könnyű a nehéz virtualizációhoz képest.

Most telepítsük a Dockert.

A Docker telepítése:

Telepítem a Dockert az Ubuntu 17.10 gépembe. A Docker telepítésének lépései:

  1. Telepítse a szükséges csomagokat
  2. A Docker adattár beállítása
  3. Telepítse a Dockert az Ubuntu-ra

1. Telepítse a szükséges csomagokat:

Bizonyos csomagokat igényel a rendszer a Docker telepítéséhez. A csomagok telepítéséhez hajtsa végre az alábbi parancsot.

sudo apt-get install curl apt-transport-https ca-tanúsítványok szoftver-tulajdonságok-közös

2. A Docker adattár beállítása:

Most importálja a Dockers hivatalos GPG kulcsát a csomagok aláírásának ellenőrzéséhez, mielőtt telepítené őket az apt-get programmal. Futtassa az alábbi parancsot a terminálon:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add

Most adja hozzá a Docker adattárat az Ubuntu rendszeréhez, amely tartalmazza a Docker csomagokat, beleértve annak függőségeit is, és hajtsa végre az alábbi parancsot:

sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stabil'

3. Telepítse a Dockert az Ubuntura:

Most frissítenie kell az apt indexet és telepítenie kell a Docker közösségi kiadást, ehhez hajtsa végre az alábbi parancsokat:

sudo apt-get update sudo apt-get install docker-ce

Gratulálunk! Sikeresen telepítette a Dockert. Ezenkívül nézzen meg néhány gyakran használt terméket Docker parancsok .

Most nézzünk meg néhány fontos Docker-koncepciót.

Dockerfile, Docker Image és Docker Container:

  1. A Docker-képet a Dockerfile nevű fájlba írt parancsok sorozata hozza létre.
  2. Amikor ezt a Docker fájlt egy dokkoló paranccsal hajtják végre, akkor egy Docker képpé válik egy névvel.
  3. Amikor ezt a képet a „docker run” paranccsal hajtja végre, akkor önmagában elindítja azt az alkalmazást vagy szolgáltatást, amelyet a végrehajtásakor el kell indítania.

Docker Hub:

A Docker Hub olyan, mint a GitHub a Docker Images számára. Ez alapvetően egy felhőalapú nyilvántartás, ahol megtalálhatja a különböző közösségek által feltöltött Docker képeket, valamint saját képet is kialakíthat és feltölthet a Docker Hub-ra, de először létre kell hoznia egy fiókot a DockerHub-on.

Docker építészet:

Ez egy Docker Engine-ből áll, amely egy kliens-szerver alkalmazás, három fő összetevővel:

  1. Kiszolgáló, amely egy régóta futó program, egy úgynevezett démon folyamat (a docker parancs).
  2. REST API, amely meghatározza azokat az interfészeket, amelyeket a programok használhatnak a démon megbeszélésére és annak megtanítására.
  3. Parancssori interfész (CLI) kliens (a dokkoló parancs).
  4. A CLI a Docker REST API-t használja a Docker démon vezérléséhez vagy az interakcióhoz parancsfájlokkal vagy közvetlen parancssori felület parancsokkal. Sok más Docker-alkalmazás használja az alapul szolgáló API-t és a CLI-t.

Olvassa el ezt a blogot, ha többet szeretne megtudni erről .

Végül ebben a Docker bemutató blogban a Docker Compose-ról fogok beszélni.

Docker írása:

A Docker Compose alapvetően több Docker Container futtatására szolgál egyetlen szerverként. Mondok egy példát:

Tegyük fel, hogy van olyan alkalmazásom, amelyhez WordPress, Maria DB és PHP MyAdmin szükséges. Létrehozhatok egy fájlt, amely mindkét tárolót szolgáltatásként indítaná, anélkül, hogy mindegyiket külön kellene elindítani. Különösen akkor hasznos, ha mikroszolgáltatás-architektúrával rendelkezik.

Hivatkozzon a blogomra Docker konténer megérteni, hogyan kell gyakorlatilag végrehajtani.

Ezen a blogon elolvashatja, hogyan tárolhatja az átlagos veremalkalmazást a Docker Compose használatával.

Ezzel véget értünk a Docker Tutorial első blogjának, amely a Bevezetés a dokkolóhoz és konténerezéshez c.

Nézze át a következő blogunkat a Docker-en:

Most, hogy megértette, mi a DevOps, nézze meg a mi oldalunkat 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 szaktudást szerezni a különféle DevOps folyamatokban és eszközökben, például a Báb, a Jenkins, a Nagios, az Ansible, a Szakács, a Saltstack és a GIT az SDLC több lépésének automatizálásában.

Van egy kérdésünk? Kérjük, említse meg a megjegyzések részben, és mi kapcsolatba lépünk Önnel.

objektumok tömbjének deklarálása java-ban