Docker oktatóanyag kezdőknek: alapok, Architecture, Containers
⚡ Okos összefoglaló
A Docker egy konténerizációs platform, amely alkalmazásokat és azok függőségeit hordozható, könnyű konténerekbe csomagolja. Ez az áttekintés bemutatja a Docker architektúráját, telepítését a következőre: Ubuntu, az alapvető parancsokat, és azt, hogy a konténerek hogyan különböznek a hagyományos virtuális gépektől a gyorsabb szoftverszállítás érdekében.

A Docker az egyik legnépszerűbb konténerizációs platform, amelyet a modern világban használnak. DevOps és felhőalapú munkafolyamatokat. Ez a Docker oktatóanyag kezdőknek elmagyarázza, mi a Docker, hogyan működik a Docker architektúra, hogyan kell telepíteni a Dockert Ubuntu, valamint a képek és tárolók kezeléséhez használt alapvető parancsok.
Mi a Docker?
Dokkmunkás egy virtualizációs szoftverfejlesztési platform, amely lehetővé teszi több operációs rendszer futtatását ugyanazon a gépen. Segít az infrastruktúra elkülönítésében az alkalmazásoktól, így gyorsan szállíthat szoftvereket. A virtuális gépek (VM-ek) létrehozására használt hipervizorokkal ellentétben a Docker rendszerszinten hajtja végre a virtualizációt Docker-konténerek nevű egységek használatával.
A Docker konténerek a gazdagép operációs rendszerén futnak, ahogy az az alábbi képen is látható. Ez javítja a hatékonyságot és a biztonságot is. Több konténert is futtathatsz ugyanazon az infrastruktúrán, mint virtuális gépet, mivel a konténerek kevesebb erőforrást használnak.

A virtuális gépekkel ellentétben, amelyek közvetlenül a gazdagép hardverével tudnak kommunikálni (például egy Ethernet adapterrel, amely több virtuális adaptert hoz létre), a Docker konténerek egy elszigetelt környezetben futnak a gazdagép operációs rendszerén. Még ha a gazdagép fut is Windows, futtathatod Linux képek a konténerek belsejében a segítségével Hyper-V, amely automatikusan létrehoz egy kis virtuális gépet az alapkép virtualizálásához.
Most, hogy tudjuk, mi a Docker, nézzük meg a fő okokat, amiért a csapatok ezt választják.
Miért használja a Dockert?
Íme a Docker használatának főbb okai:
- A Docker egy virtualizációhoz használt szoftver, amely lehetővé teszi a többszörös operációs rendszer ugyanazon a gépen futni.
- A Docker egy kliens-szerver alkalmazás, ami azt jelenti, hogy a kliensek kommunikálnak egy szerverrel.
- A Docker képek a konténerek „forráskódjaként” működnek; ezeket használjuk a buildhez.
- A Docker kétféle nyilvántartást támogat: nyilvánosat és privátot.
- A konténerek a Docker szervezeti egységei. Egyszerűen fogalmazva, egy kép egy sablon, egy konténer pedig ennek a sablonnak egy másolata, így ugyanazon képből több konténert is futtathatsz.
Ezek az előnyök a Docker kialakításából adódnak. A következő szakasz lebontja a Docker architektúrát és annak főbb összetevőit.
Dokkmunkás Architectúra
Most, ebben a Docker konténer bemutatóban nézzük meg a Docker architektúra főbb összetevőit.
Docker motor
A Docker egy kliens-szerver alkalmazás, ami azt jelenti, hogy vannak klienseink, amelyek továbbítják a kéréseket egy szervernek. A Docker démon, a dockerd, a szervert képviselő Docker motor. A démon és a kliensek futhatnak ugyanazon a vagy egy távoli gépen, és egy parancssori kliens binárison és egy teljes... RESTful API ami a dockerd-del kommunikál.
Docker Images
A Docker-lemezképek a konténereink „forráskódjai”; ezeket használjuk konténerek építéséhez. A képekhez előre telepített szoftver tartozhat, ami felgyorsítja a telepítést. Hordozhatók, és használhatsz meglévő képeket, vagy létrehozhatsz sajátokat.
Docker nyilvántartások
A Docker a létrehozott rendszerképeket regiszterekben tárolja. Vannak nyilvános és privát regiszterek. A Docker rendelkezik egy nyilvános regiszterrel, amelynek neve Docker hub, ahol privát módon is tárolhatod a képeket. A Docker Hub több millió képpel rendelkezik, amelyeket azonnal elkezdhetsz használni.
Docker konténerek
A konténerek a Docker szervezeti egységei és egyik alapfogalma. Amikor létrehozunk és futtatunk egy rendszerképet, egy konténeren belül futtatjuk. A konténeranalógiát a benne futó szoftver hordozhatósága miatt használjuk: mozgathatjuk, „szállíthatjuk”, módosíthatjuk, kezelhetjük, létrehozhatjuk vagy megsemmisíthetjük, ahogyan a teherhajók kezelik a valódi konténereket.
Egyszerűen fogalmazva, a kép egy sablon, a tároló pedig ennek a sablonnak a másolata. Ugyanannak a képnek több tárolója (másolata) is lehet.
Ezen különböző komponensek közötti kölcsönhatás mutatja, hogyan működik együtt a Docker konténertechnológia. Az olyan parancsok, mint a docker pull és a docker run, amelyeket később tárgyalunk, lehetővé teszik ennek a munkafolyamatnak a kezelését.
Az architektúrát szem előtt tartva telepítsük a Dockert, hogy te magad is kipróbálhasd ezeket a komponenseket.
A Docker telepítése Linuxra/Ubuntu
Az alábbiakban lépésről lépésre bemutatjuk a Docker telepítési folyamatát Linuxon/Ubuntu:
Step 1) A Docker telepítéséhez szükséged van a Docker csapat DEB csomagjaira. Először is, néhány előfeltétel Ubuntu csomagok szükségesek. Használja az alábbi parancsot a telepítésükhöz.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*a „\” jel nem szükséges, az új sorban használatos, ha akarja, a parancsot a „\” használata nélkül is kiírhatja egy sorba.
Step 2) Add hozzá a hivatalos Docker GPG kulcsot az ujjlenyomattal. Használd az alábbi Docker parancsot a GPG kulcs megadásához.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Step 3) Ezután adja hozzá a Docker APT adattárat az alábbi parancs használatával.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Lehetséges, hogy a rendszer kérni fogja, hogy erősítse meg, hogy hozzá kívánja-e adni a tárhelyet, és hogy a GPG-kulcs automatikusan hozzáadódjon a gazdagéphez. Az lsb_release parancsnak ki kell töltenie a következőt: Ubuntu a gazdagép terjesztési verziója.
Step 4) A GPG kulcs hozzáadása után frissítse az APT forrásokat az alábbi Docker paranccsal.
$ sudo apt-get update
Most már telepítheti magát a Docker csomagot.
Step 5) Miután az APT forráskódok frissültek, kezdje el a Docker csomagok telepítését a következőre: Ubuntu az alábbi Docker parancs használatával.
$ sudo apt-get install docker-ce
A fenti parancs telepíti a Dockert és a többi szükséges csomagot. A Docker 1.8.0 előtt a csomag neve lxc-docker volt, a Docker 1.8 és 1.13 között pedig docker-engine.
JEGYZET: Docker a következőhöz: Windows megköveteli, Windows 10 Pro vagy Enterprise verzió 14393, vagy Windows Server 2016 RTM futtatásához.
A Docker használata az alapvető Docker-parancsok használatával
Így használhatod a Dockert néhány alapvető Docker-parancs segítségével.
A Docker telepítése után futtatandó legalapvetőbb parancs a docker info, ahogy korábban említettük.
$ sudo docker info
Az alábbihoz hasonló eredményt kell kapnia.
Amint a fenti Docker példában látható, információkat láthatunk a Docker konténerekről: hány fut, szünetel vagy le van állítva, és hány kép lett letöltve. Most pedig nézzük az első képünket.
$ sudo docker pull alpine
Ezzel a paranccsal arra utasítjuk a Dockert, hogy töltse le az alpine rendszerképet a legújabb verziójú nyilvános rendszerleíró adatbázisból, amely alapértelmezés szerint be van állítva.
Az *alpine egy minimális Docker-kép, amely Alpine Linuxon alapul, teljes csomagindexszel és mindössze 5 MB méretű.
Ha a képet konténerként szeretnénk futtatni, akkor a következő parancsot használjuk.
$ sudo docker run -i -t alpine /bin/bash
A parancs futtatása közvetlenül az alpine terminálba küld minket. Az -i jelző nyitva tartja a konténer STDIN-jét, még akkor is, ha nem vagyunk hozzá csatlakoztatva; ez az állandó szabványos bemenet az interaktív shell szükséges mennyiségének a fele. A -t jelző a másik fele, és utasítja a Dockert, hogy rendeljen hozzá egy pszeudo-tty-t a konténerhez. Együttesen egy interaktív shell-t adnak nekünk az új konténerben. A konténerből egy egyszerű exit paranccsal léphetünk ki.
Most, ebben a Docker alapismeretek oktatóanyagban megpróbálhatunk futtatni egy Ubuntu kép.
$ sudo docker run -it ubuntu /bin/bash
Figyeljük meg, hogy a Docker lokálisan ellenőrzi a rendszerképet, és ha az nincs ott, akkor automatikusan a képkönyvtárból olvassa be. Ismét egy interaktív shell fut. A konténereket futtatás közben el is nevezhetjük.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
Ezután ismét kilépünk. Egy korábban létrehozott konténert interaktív shell nélkül is futtathatunk.
$ sudo docker start container_name
És a konténert a docker stop container_name paranccsal állítjuk le.
$ sudo docker stop container_name
Ha az összes futó konténert látni szeretnénk, egyszerűen futtassuk a következőt.
$ docker ps
Minden konténer esetében a parancs végére hozzáadjuk a „-a” kapcsolót, például a docker ps -a parancshoz. Ez a parancs megjeleníti a konténer azonosítóját, az általa használt rendszerképet, a létrehozásának időpontját, a futási állapotát, a közzétett portokat és egy véletlenszerűen generált nevet a könnyebb kezelés érdekében.
Amikor konténereket futtatunk, gyakran szeretnénk tudni, hogy hány erőforrást használnak. Erre a célra a következő parancsot használhatjuk.
$ docker stats
Azt is megtekintheti, hogy mely képeket töltötte le helyben, valamint információkat róluk.
$ sudo docker images
A fenti Docker példában szereplő parancs minden Docker-képet egy címkével jelenít meg, amely mutatja a kép verzióját, egy egyedi képazonosítót, a létrehozási dátumot és a kép méretét.
Ahhoz, hogy megértsük, miért jelentenek ekkora előrelépést a konténerek, érdemes megvizsgálni, hogyan fejlődött a virtualizáció.
Mi az a virtualizáció?
Korábban egy szolgáltatás telepítése lassú és fáradságos volt. A fejlesztők kódot írtak, majd az operatív csapat telepítette azt bare metal gépeken, ahol figyelniük kellett a könyvtárverziókra, javításokra és nyelvi fordítókra, hogy a kód működjön. Ha hibák vagy hibák voltak, a folyamat elölről kezdődött: a fejlesztők kijavították a problémát, és az operatív csapat újratelepítette a rendszert.
A dolgok javultak a hipervizorok létrehozásával. A hipervizorok több futtatható virtuális gépek, vagy virtuális gépek ugyanazon a gépen, amelyek futhatnak vagy kikapcsolhatók. A virtuális gépek jelentősen csökkentették a kód telepítésére és a hibák javítására fordított várakozási időt, de az igazi változást a Docker konténerek jelentették.
A Docker népszerűségét a konténereket nagymértékben kezelő orkestrációs eszközök is elősegítik, mint például a KubernetesMielőtt továbblépnénk, íme egy gyors áttekintés a legfontosabb Docker parancsokról.
Fontos Docker-parancsok
Alább találhatók a fontos Docker-parancsok:
| parancs | Leírás |
|---|---|
| dokkoló információ | Információs parancs |
| dokkoló húzza | Kép letöltése |
| docker run -i -t image_name /bin/bash | Futtassa a képet tárolóként |
| docker indítsa el a_container-ünket | Indítsa el a tárolót |
| docker stop konténer_neve | Állítsa le a tartályt |
| docker ps | Az összes futó konténer listája |
| dokkoló statisztika | Konténer információk |
| docker képek | A letöltött képek listája |
| Docker tisztítás | Öld meg az összes futó konténert. |
Ezeket is olvasd el Docker állásinterjú kérdések és válaszok pályakezdőknek és tapasztalt szakembereknek egyaránt.

