Docker oktatóanyag kezdőknek: alapok, Architecture, Containers
Mi a Docker?
Dokkmunkás egy szoftverfejlesztő platform több virtualizációhoz Operaugyanazon a gazdagépen futó rendszereket. Segít az infrastruktúra és az alkalmazások szétválasztásában a szoftver gyors szállítása érdekében. A virtuális gépek (VM) létrehozására használt Hypervisorokkal ellentétben a Docker virtualizációja rendszerszinten történik, amelyeket Docker-tárolóknak is neveznek.
Amint az alábbi képen látható a különbség, a Docker-tárolók a gazdagép tetején futnak Operarendszer. Ez segít a hatékonyság és a biztonság javításában. Sőt, több tárolót futtathatunk ugyanazon az infrastruktúrán, mint amennyit virtuális gépeken, mivel a konténerek kevesebb erőforrást használnak.
Ellentétben azokkal a virtuális gépekkel, amelyek képesek kommunikálni a gazdagép hardverével (pl. Ethernet adapter több virtuális adapter létrehozásához), a Docker-tárolók elszigetelt környezetben futnak a gazdagép operációs rendszere tetején. Még akkor is, ha a házigazdád fut Windows OS, a Linux-képek konténerekben futhatnak a segítségével Hyper-V, amely automatikusan létrehozza a kis virtuális gépet a rendszer alapképének virtualizálásához, ebben az esetben Linux.
Miért használja a Dockert?
- A Docker egy számítógépes szoftver, amelyet virtualizációhoz használnak annak érdekében, hogy több legyen Operadolgok rendszerei ugyanazon a gazdagépen fut
- A Docker egy kliens-szerver típusú alkalmazás, ami azt jelenti, hogy vannak klienseink, akik továbbítják a szervert
- A Docker képek a konténereink „forráskódja”; építkezéshez használjuk őket
- A Dockerfile kétféle nyilvántartással rendelkezik: 1.) nyilvános és 2) magánnyilvántartások
- A tárolók a Docker kötet szervezeti egységei. 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.
Dokkmunkás Architectúra
Most ebben a Docker-tároló oktatóanyagban beszéljünk a Docker fő összetevőiről a Dockerben Architectúra:
Docker motor
A Docker egy kliens-szerver típusú alkalmazás, ami azt jelenti, hogy vannak klienseink, akik továbbítják a szervert. Tehát a Docker-démon: dockerd a Docker motor, amely a szervert képviseli. A docker démon és a kliensek futtathatók ugyanazon vagy távoli gépen, és parancssori kliens binárison, valamint teljes RESTful API interakcióba lépni a démonnal: dockerd.
Docker Images
A Docker képek a konténereink „forráskódja”; konténerek építésére használjuk őket. Előre telepített szoftverrel rendelkezhetnek, amely felgyorsítja a telepítést. Hordozhatóak, használhatjuk a meglévő képeket, vagy készíthetünk saját képeket.
Docker nyilvántartások
A Docker a rendszerleíró adatbázisokban tárolja az általunk készített képeket. Vannak nyilvános és magán nyilvántartások. A Docker cégnek nyilvános nyilvántartása van Docker hub, ahol privát módon is tárolhat képeket. A Docker hub több millió képet tartalmaz, amelyeket most elkezdhet használni.
Docker konténerek
A konténerek a szervezeti egységek és a Docker alapkoncepciójának egyike. Amikor felépítünk egy képet és elkezdjük futtatni; konténerben futunk. A konténer-analógiát a konténerünkben futó szoftver hordozhatósága miatt használjuk. Mozgathatjuk, vagyis „szállíthatjuk” a szoftvert, módosíthatjuk, kezelhetjük, létrehozhatjuk vagy megszabadulhatunk tőle, megsemmisíthetjük, ahogy a teherhajók megtehetik a valódi konténerekkel.
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.
Az alábbiakban van egy kép, amely tökéletesen bemutatja a különböző összetevők közötti interakciót és a Docker konténertechnológia működését.
Több docker parancsunk van docker pull, docker run.. erről majd később.
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:
1 lépés) A Docker telepítéséhez a Docker csapat DEB-csomagjait kell használnunk.
Ehhez némi előfeltétel Ubuntu csomagok szükségesek.
A telepítéshez használja az alábbi parancsot Ubuntu csomagok
$ 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) Adja hozzá a hivatalos Docker GPG kulcsot az ujjlenyomattal.
Használja 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-tárat.
Használja az alábbi Docker parancsot a tár hozzáadásához
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Előfordulhat, hogy a rendszer felkéri, hogy erősítse meg, hogy hozzá kívánja-e adni a tárolót, és a GPG kulcsot automatikusan hozzá kívánja adni a gazdagéphez.
Az lsb_release parancsnak fel kell töltenie a 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íthetjük magát a Docker-csomagot.
Step 5) Az APT-források frissítése után
Kezdje el a Docker-csomagok telepítését Ubuntu az alábbi Docker paranccsal
$ sudo apt-get install docker-ce
A fent megadott parancs telepíti a Dockert és más további szükséges csomagokat. 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 volt.
JEGYZET: Docker for Windows megköveteli, Windows 10 Pro vagy Enterprise verzió 14393, vagy Windows szerver 2016 RTM futtatásához
A Docker használata az alapvető Docker-parancsok használatával
A Docker használatának módja az alapvető Docker-parancsok használatával:
A Docker telepítése után futtatandó legalapvetőbb parancs a $ docker info, amint azt korábban említettük.
$ sudo docker info
Hasonló vagy a következő eredményt kell kapnia
Ahogy a fenti Docker-példán is láthatjuk, információval rendelkezünk a docker-tárolókról, hogy hány fut, szünetel vagy áll le, és hány képet töltöttünk le. Tehát nézzük meg az első képet ebben a Docker-parancsok oktatóanyagában.
$ sudo docker pull alpine
Ezzel a paranccsal azt mondjuk a dockernek, hogy töltse le a képet alpine, hogy húzza le a nyilvános nyilvántartásból, az alapértelmezés szerint beállított legújabb verzióból.
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 tárolóként szeretnénk futtatni, a következő parancsot fogjuk használni ebben a Docker oktatóanyagban.
$ sudo docker run -i -t alpine /bin/bash
Ha futtatjuk a parancsot, közvetlenül az alpesi terminálra kerülünk. Az -i jelző nyitva tartja az STDIN kódot a tárolóból, még akkor is, ha nem csatlakozik hozzá. Ez az állandó szabványos bemenet fele annak, amit egy interaktív héjhoz kell. A -t zászló a másik fele, amely arra utasítja a Dockert, hogy rendeljen hozzá egy pszeudo-tty-t a tárolóhoz. Ez egy interaktív héjat kínál az új tárolóban. A tárolóból egy egyszerű kilépési paranccsal lépünk ki.
Most ebben a Docker alapismeretek oktatóanyagában megpróbálhatunk futtatni egy Ubuntu kép.
$ sudo docker run -it ubuntu /bin/bash
Észreveheti, hogy a docker ellenőrzi a képet lokálisan, és ha nincs ott, akkor a rendszer automatikusan kihúzza a képet a képtárból, és ismét egy interaktív shell fut. A konténereket futás közben is elnevezhetjük.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
és újra kilépünk.
A korábban létrehozott tárolót interaktív shell nélkül is futtathatjuk.
$ sudo docker start container_name
És állítsa le a konténerírási dokkolót, állítsa le a konténer_neve
$ sudo docker stop container_name
Ha látni akarjuk az összes futó tárolót, csak futtassuk
$ docker ps
És minden konténerhez „-a”-t adunk ugyanannak a parancsnak a végére, mint például ez a docker ps -a.
Ez a parancs megmutatja a tároló azonosítóját, a létrehozáskor használt képfájlt, a futás állapotát, a szabaddá vált portokat és a tároló véletlenszerűen generált nevét a könnyebb kezelés érdekében.
A konténerek futtatásakor azt is szeretnénk tudni, hogy mennyi erőforrást használnak fel, erre a célra használhatjuk a parancsot.
$ docker stats
Azt is megtekintheti, hogy mely képeket töltöttük le helyben, és információkat is láthat róluk.
$ sudo docker images
A fenti Docker-példa parancsa megjeleníti a docker-képet egy címkével, amely megmutatja képünk verzióját, egy megkülönböztető képazonosítót, a létrehozás időpontját és a kép méretét.
Mi az a virtualizáció?
Korábban egy szolgáltatás telepítésének folyamata lassú és fájdalmas volt. Először is a fejlesztők kódot írtak; majd a műveleti csapat csupasz fém gépeken telepítette, ahol a kód működéséhez könyvtári verziókat, javításokat és nyelvi fordítókat kellett keresniük. Ha voltak hibák vagy hibák, a folyamat elölről indult, a fejlesztők kijavították, majd ismét ott volt az operatív csapat, hogy telepítse.
A hipervizorok létrehozásával javulás történt. A hipervizoroknak több is van Virtuális gépek vagy ugyanazon a gazdagépen lévő virtuális gépek, amelyek futnak vagy ki vannak kapcsolva. A virtuális gépek nagymértékben csökkentették a kód telepítésének és a hibajavításnak a várakozási idejét, de az igazi játékváltót a Docker konténerek jelentették.
Fontos Docker-parancsok
Alább találhatók a fontos Docker-parancsok:
parancs | Description |
---|---|
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. |
Olvassa el Docker állásinterjú kérdések és válaszok frissebb és tapasztalt szakemberek számára.
Összegzésként
- A Docker egy szoftverfejlesztő platform többes virtualizációhoz Operaugyanazon a gazdagépen futó rendszereket. Segít az infrastruktúra és az alkalmazások szétválasztásában a szoftver gyors szállítása érdekében.
- Dokkmunkás Architectúra: Docker Engine, Docker Images, Docker Registries, Docker Containers.
- DockerEngine: A Docker egy kliens-szerver típusú alkalmazás, ami azt jelenti, hogy vannak klienseink, akik továbbítják a szervert. Tehát a Docker-démon: dockerd a Docker motor, amely a szervert képviseli.
- Docker képek: A Docker képek a konténereink „forráskódja”; konténerek építésére használjuk őket. Előre telepített szoftverrel rendelkezhetnek, amely felgyorsítja a telepítést. Hordozhatóak, használhatjuk a meglévő képeket, vagy készíthetünk saját képeket.
- Docker nyilvántartások: A Docker a rendszerleíró adatbázisokban tárolja az általunk készített képeket. Vannak nyilvános és magán nyilvántartások. A Docker cégnek van nyilvános nyilvántartása, a Docker hub, ahol a képeket privát módon is tárolhatja. A Docker hub több millió képet tartalmaz, amelyeket most elkezdhet használni.
- Docker konténerek: A konténerek a szervezeti egységek és a Docker alapkoncepciójának egyike. Amikor felépítünk egy képet és elkezdjük futtatni; konténerben futunk. A konténer-analógiát a konténerünkben futó szoftver hordozhatósága miatt használjuk.