Docker bemutató kezdőknek
Docker bemutatóunkban bemutatjuk a Docker virtualizációs platformot, és könnyen követhető utasításokkal megmutatjuk, hogyan használhatja a Docker programot Ubuntu 22.04 rendszerén.
A Docker felépítése és jellemzői
„Bármilyen alkalmazás, bárhol, bármikor” – ez a Docker mottója. A nyílt forráskódú konténerplatform rugalmas, alacsony erőforrásigényű alternatívát kínál a virtuális gépeken (VM) alapuló hardverkomponensek emulálásához.
Míg a hagyományos hardveres virtualizáció több vendégrendszer közös gazdaszerveren történő elindításán alapul, a Docker alkalmazások konténerek segítségével izolált folyamatokként futnak ugyanazon a rendszeren. Ezt konténeralapú virtualizációnak, más néven operációs rendszer szintű virtualizációnak nevezik.

A konténeralapú virtualizáció egyik nagy előnye, hogy a különböző követelményekkel rendelkező alkalmazások egymástól elszigetelten futtathatók, anélkül, hogy külön vendégrendszerre lenne szükség. Ezenkívül a konténerekkel az alkalmazások platformokon és különböző infrastruktúrákban is telepíthetők, anélkül, hogy a gazdaszerver hardver- vagy szoftverkonfigurációjához kellene igazodniuk.
A Docker a legnépszerűbb szoftverprojekt, amely konténeralapú virtualizációs technológiát biztosít a felhasználók számára. A nyílt forráskódú platform három alapvető komponensen alapul. A konténerek futtatásához a felhasználóknak csak a Docker motorra és speciális Docker-képekre van szükségük, amelyek a Docker hubon keresztül szerezhetők be vagy saját maguk is létrehozhatók.
Docker-képek
A virtuális gépekhez hasonlóan a Docker konténerek is Docker képeken alapulnak. A kép egy csak olvasható sablon, amely tartalmazza az összes utasítást, amelyre a Docker motornak szüksége van a konténer létrehozásához. A Docker kép egy konténer hordozható képe, amely szöveges fájl formájában, más néven Dockerfile-ként van megadva. Ha egy konténert kell elindítani egy rendszeren, akkor először a megfelelő képpel rendelkező csomagot kell betölteni, amennyiben az még nem létezik helyileg. A betöltött kép biztosítja a szükséges fájlrendszert, beleértve a futási idő összes paraméterét. A konténer egy kép futó folyamataként tekinthető.
A Docker hub
A Docker hub egy felhőalapú nyilvántartás szoftver-tárolók számára, egyfajta könyvtár a Docker-képek számára. Az online szolgáltatás nyilvános és zárt részre oszlik. A nyilvános rész lehetőséget kínál a felhasználóknak, hogy feltöltsék saját fejlesztésű képeiket és megosszák azokat a közösséggel. Itt számos hivatalos kép elérhető a Docker fejlesztői csapattól és bevált nyílt forráskódú projektekből. A nyilvántartás privát részébe feltöltött képek nem érhetők el nyilvánosan, így megoszthatók például egy vállalat belső körében, vagy barátokkal, ismerősökkel. A Docker hub a hub.docker.com oldalon érhető el.
A Docker motor
A Docker projekt középpontjában a Docker motor áll. Ez egy nyílt forráskódú kliens-szerver alkalmazás, amely a jelenlegi verzióban minden felhasználó számára elérhető az összes elterjedt platformon.
A Docker motor alapvető architektúrája három komponensre oszlik: egy szerverfunkciókkal rendelkező démon, a REST (Representational State Transfer) programozási paradigma alapján működő programozási interfész (API) és az operációs rendszer terminálja (parancssori interfész, CLI) mint felhasználói interfész (kliens).
- Docker démon: A Docker motor szerverként egy démon folyamatot használ. A Docker démon a gazdaszerver háttérében fut, és a Docker motor központi vezérlésére szolgál. Ez a funkció hozza létre és kezeli az összes képet, konténert vagy hálózatot.
- REST-API: A REST-API egy sor interfészt határoz meg, amelyek lehetővé teszik más programok számára, hogy kommunikáljanak a Docker démonnal és utasításokat adjanak neki. Az egyik ilyen program az operációs rendszer terminálja.
- Terminál: Kliens programként a Docker az operációs rendszer terminálját használja. Ez a REST-API-n keresztül integrálva a Docker démonnal lehetővé teszi a felhasználók számára, hogy szkriptekkel vagy felhasználói bevitellel vezéreljék azt.
2017-ben a Docker motor neve Docker Community Edition-re (rövidítve Docker CE) változott, de a hivatalos dokumentáció és a Docker-tárolók többnyire még mindig a régi nevet használják. A Docker CE mellett létezik még a Docker Enterprise Edition (Docker EE) is, amely néhány prémium funkcióval rendelkezik. Ez azonban nem ingyenes, és inkább vállalatok számára alkalmas.
A Docker parancsokkal a felhasználói szoftverkonténerek közvetlenül a terminálról indíthatók, állíthatók le és kezelhetők. A démon a docker parancs és build, pull vagy run utasítások segítségével érhető el. Az ügyfél és a szerver ugyanazon a rendszeren is lehet. A felhasználóknak lehetőségük van egy másik rendszeren lévő Docker démonhoz is hozzáférni. A létrehozott kapcsolat típusától függően a kliens és a szerver közötti kommunikáció a REST-API-n, UNIX-socketeken vagy hálózati interfészen keresztül történik.
Az alábbi ábra szemlélteti az egyes Docker-összetevők kölcsönhatását docker build, docker pull és docker run példa parancsokkal:

A docker build parancs utasítja a Docker démont, hogy hozzon létre egy képet (szaggatott vonal). Ehhez rendelkezésre kell állnia a megfelelő Dockerfile fájlnak. Ha a képet nem kell létrehozni, hanem a Docker hub tárolójából kell betölteni, akkor a docker pull parancsot kell használni (szaggatott vonal). Ha a Docker démon docker run paranccsal kap utasítást egy konténer elindítására, a háttérprogram ellenőrzi, hogy a megfelelő konténerkép helyi szinten elérhető-e. Ha igen, akkor a konténer elindul (folytonos vonal). Ha a démon nem találja a képet, automatikusan elindítja a letöltést a tárolóból.
Munka a Dockerrel
Most itt az ideje megismerkedni a konténerplatform alkalmazásokkal. Ha még nem telepítette a Docker motort, akkor ezt megteheti a Linux terminálon keresztül. Az ehhez szükséges utasításokata „Docker telepítése Ubuntu 22.04-re”című cikkünkben találja. Az alábbiakban megtudhatja, hogyan vezérelheti a Docker motort a terminálról, mit tud Önnek nyújtani a Docker Hub, és miért forradalmasíthatják a Docker konténerek az alkalmazásokkal való munkavégzés módját.
A Docker motor vezérlése
A 16.04-es verziótól kezdve az Ubuntu a systemd (a „system daemon” rövidítése) háttérprogramot használja a folyamatok kezelésére. A systemdegy init folyamat, amelyet más Linux-disztribúciók, például az RHEL, a CentOS vagy a Fedora is használnak. Általábana systemd kapja megaz 1-es folyamatazonosítót. A rendszer első folyamataként a démon felelős az összes következő folyamat elindításáért, figyeléséért és befejezéséért. A korábbi Ubuntu verziókban (14.10 és régebbi) ezt a funkciót azupstart háttérprogram látja el.
A Docker démon a systemd segítségével is vezérelhető. A standard telepítés során a konténerplatform úgy van konfigurálva, hogy a démon automatikusan elinduljon a rendszer indításakor. Ez az alapértelmezett beállítás a systemctl parancssori eszközzel testreszabható.
A systemctl segítségével parancsokat küldhet a systemd- nek egy folyamat vezérlésére vagy állapotának lekérésére. Az ilyen parancs szintaxisa a következő:
systemctl [OPTION] [COMMAND]bashEgyes parancsok konkrét erőforrásokra vonatkoznak (például Docker). A systemd terminológiájában ezeket egységeknek nevezik. Ebben az esetben a parancs a megfelelő utasításból és a megcélzott egység nevéből áll.
Ha szeretné aktiválni (engedélyezni) vagy deaktiválni (letiltani) a Docker démon automatikus indítását, használja a systemctl parancssori eszközt a következő parancsokkal:
sudo systemctl enable docker
sudo systemctl disable dockerbashA systemctl parancssori eszközzel lekérdezheti az egység állapotát:
sudo systemctl status dockerbashHa az Ubuntu rendszerén a Docker motor aktív, akkor a terminál kimenete a következő képernyőképen láthatóhoz hasonlóan kell kinéznie:

Ha a Docker motor jelenleg deaktiválva van, akkor az állapotjelzés inaktív (halott) lesz. Ebben az esetben manuálisan kell elindítania a Docker démont a konténerek futtatásához.

Ha manuálisan szeretné elindítani, leállítani vagy újraindítani a Docker motort, akkor a következő parancsok egyikével szólítsa meg a systemd-t.
A deaktivált démon elindításához használja a systemctl parancsot a start parancs kombinációjával:
sudo systemctl start dockerbashHa a Docker démon leállítására van szükség, akkor a stop parancsot használja:
sudo systemctl stop dockerbashA motor újraindítását a restart parancs kéri:
sudo systemctl restart dockerbashA Docker hub használata
Ha a Docker motor a konténerplatform szíve, akkor a Docker hub az open source projekt lelke. Itt találkozik a közösség. A felhőalapú nyilvántartásban a felhasználók mindent megtalálnak, amire szükségük van ahhoz, hogy életre keltsék Docker telepítésüket.
Az online szolgáltatás több mint 100 000 ingyenes alkalmazást tartalmazó, sokszínű hivatalos adattárat kínál. A felhasználóknak lehetőségük van képarchívumot létrehozni és azokat munkacsoportokkal közösen használni. A fejlesztőcsapat által nyújtott professzionális támogatás mellett a kezdők itt kapcsolatokat is találhatnak a felhasználói közösséggel. A közösségi támogatás fóruma a GitHubon érhető el.

Regisztráció a Docker hubban
A Docker hubba való regisztráció ingyenes. A felhasználóknak csak egy e-mail címre és a választott Docker ID-re van szükségük. Ez később személyes tároló névterületként szolgál, és hozzáférést biztosít a felhasználóknak az összes Docker szolgáltatáshoz. Jelenleg ez az ajánlat a Docker hub mellett a Docker cloudot, a Docker store-t és kiválasztott béta programokat is magában foglalja. Lehetővé teszi továbbá a Docker ID használatát bejelentkezésként a Docker támogatási központba, valamint a Docker success portálra és a Docker fórumra.
A regisztrációs folyamat öt lépésből áll:
- Válassza ki a Docker azonosítóját: Az alkalmazás első lépéseként válasszon egy felhasználónevet, amelyet később személyes Docker azonosítójának fog használni.
- Írja be e-mail címét: Írja be jelenlegi e-mail címét. Ne feledje, hogy e-mailben kell megerősítenie regisztrációját a Docker hubon.
- Válasszon jelszót: Válasszon egy titkos jelszót.
- Küldje el regisztrációját: Kattintson a „Sign up” (Regisztráció) gombra a regisztráció elküldéséhez. Miután az adatok teljes egészében átkerültek, a Docker egy linket küld a megadott e-mail címére, amelyen keresztül ellenőrizheti e-mail címét.
- Erősítse meg e-mail címét: Kattintson a megerősítő linkre, hogy megerősítse e-mail címét.
A Docker projekt online szolgáltatásai a böngészőben történő regisztrációt követően azonnal elérhetővé válnak. Itt létrehozhat tárolókat és munkacsoportokat, vagy az „Explore” funkcióval kereshet nyilvános erőforrásokat a Docker hubban.

A docker login paranccsal közvetlenül az operációs rendszer terminálján is regisztrálhat. A parancs részletes leírása a Docker dokumentációjában található.
Elvileg a Docker hub azok számára is elérhető, akik nem rendelkeznek fiókkal vagy Docker ID-vel. Ebben az esetben azonban csak a nyilvános tárolókból származó képek tölthetők be. Saját képek feltöltése (push) Docker ID nélkül nem lehetséges.
Repozitóriumok létrehozása a Docker hubban
Az ingyenes Docker Hub-fiók egy privát tárolót tartalmaz, és lehetőséget kínál tetszőleges számú nyilvános tároló létrehozására. Ha több privát tárolóra van szüksége, azokat fizetős frissítéssel oldhatja fel.
A tároló létrehozásához kövesse az alábbi lépéseket:
- Válasszon egy névteret: Az újonnan létrehozott tárolók automatikusan a Docker ID névteréhez kerülnek hozzárendelésre. Lehetőség van arra is, hogy megadja annak a szervezetnek az azonosítóját, amelyhez tartozik.
- Címkézze meg a tárolót: Adjon nevet az újonnan létrehozott tárolónak.
- Adjon hozzá leírást: Adjon hozzá egy rövid leírást a tárolóhoz.
- Állítsa be a láthatóságot: Döntse el, hogy a tároló nyilvánosan látható legyen (nyilvános), vagy csak Ön vagy a szervezete számára legyen hozzáférhető (magán).
A „Létrehozás” gombra kattintva erősítse meg adatait.

Csapatok és szervezetek létrehozása
A hub segítségével a Docker egy felhőalapú platformot biztosít, amelyen a saját készítésű képek központilag kezelhetők és kényelmesen megoszthatók a munkacsoportokkal. A Docker terminológiájában ezeket szervezeteknek nevezik. A felhasználói fiókokhoz hasonlóan a szervezetek is egyedi azonosítókat kapnak, amelyek segítségével képek biztosíthatók és letölthetők. A szervezeten belüli jogok és szerepkörök csapatok segítségével rendelhetők hozzá. Például az „Owners” (Tulajdonosok) csapatba rendelt felhasználók jogosultak privát vagy nyilvános tárolókat létrehozni és hozzáférési jogokat rendelni.
A munkacsoportok közvetlenül a műszerfalon keresztül is létrehozhatók és kezelhetők. További információk a szervezetekről és a csapatokról a Docker dokumentációjában találhatók.
Képekkel és konténerekkel való munka
A hivatalos Docker-források elsődleges kapcsolattartó pontjaként a Docker hub a kiindulási pontunk a képek és konténerek kezelésének bemutatásához. A fejlesztői csapat biztosította a whalesay demo képet, amely alapul szolgál a következő Docker-bemutatóhoz.
Docker-képek letöltése
A whalesay képet a Docker hub weboldalon találja meg, ha a Docker logó melletti keresősávba beírja a whalesay kifejezést.

A keresési eredmények között kattintson a docker/whalesay című erőforrásra, hogy megnyissa a kép nyilvános tárolóját.
A Docker-tárolók mindig ugyanazon minta szerint épülnek fel. Az oldal fejlécében a felhasználók megtalálják a kép címét, a tároló kategóriáját és az utolsó feltöltés (utolsó push) időpontját.

Minden Docker-tárhely a következő információs mezőket is tartalmazza:
- Leírás: Részletes leírás, általában a használati utasítást is tartalmazza
- Docker pull parancs: A kép letöltésére szolgáló parancssori utasítás a tárolóból (
pull) - Tulajdonos: Információk a tároló létrehozójáról
- Megjegyzések: Megjegyzés szakasz az oldal végén
A tároló információs mezői azt mutatják, hogy a whalesay a nyílt forráskódú Perl szkript, a cowsay módosítása. A programot Tony Monroe fejlesztette ki 1999-ben, és egy tehén formájú ASCII grafikát generál, amely egy üzenettel együtt jelenik meg a felhasználó terminálján.
A docker/whalesay letöltéséhez használja a docker pull parancsot:
docker pull [OPTIONS] NAME [:TAG|@DIGEST]bashA docker pull parancs utasítja a démont, hogy töltsön be egy képet a tárolóból. A kép címének (NAME) megadásával adja meg, hogy melyik képről van szó. Megadhatja a Dockernek, hogy a kívánt parancsot hogyan hajtsa végre (OPTIONS). Az opcionális beviteli adatok között szerepelnek a címkék (:TAG) és az egyedi azonosító számok (@DIGEST), amelyek lehetővé teszik egy kép adott verziójának letöltését.
A docker/whalesay kép helyi másolatát a következő paranccsal lehet beszerezni:
docker pull docker/whalesaybashÁltalában ezt a lépést kihagyhatja. Ha konténert szeretne elindítani, a Docker démon automatikusan letölti a tárolóból azokat a képeket, amelyeket nem talál a helyi rendszeren.
Docker-képek konténerekként való elindítása
A Docker-kép elindításához használja a docker run parancsot:
docker run [OPTIONS] IMAGE [:TAG|@DIGEST] [CMD] [ARG...]bashAz docker run parancs egyetlen kötelező része a kívánt Docker-kép neve. De amikor elindít egy konténert, lehetősége van további opciók, TAG-ek és DIGEST-ek megadására is. Ezenkívül az docker run parancs kombinálható más parancsokkal, amelyek a konténer indításakor azonnal végrehajtásra kerülnek. Ebben az esetben a CMD (COMMAND, amelyet a kép létrehozója határoz meg, és amely automatikusan végrehajtásra kerül a konténer indításakor) felülíródik. Egyéb opcionális konfigurációk további argumentumokkal (ARG…) határozhatók meg. Ez lehetővé teszi például felhasználók hozzáadását vagy környezeti változók átvitelét.
Használja a parancssori utasítást
docker run docker/whalesay cowsay boobashhogy letöltsd a meglévő Perl szkriptet kép formátumban, és futtasd egy konténerben. Látni fogod, hogy a whalesay jelentősen eltér a forráskódtól.

Ha a docker/whalesay kép fut, a szkript egy bálna formájú ASCII grafikát és a „boo” szöveges üzenetet ad ki, amelyet a terminálban a cowsay paranccsal adnak át.
A tesztfutáshoz hasonlóan a démon először a helyi fájlkönyvtárban keresi a kívánt képet. Mivel nincs azonos nevű csomag, a Docker-tárházból történő letöltés indul el. Ezután a démon elindítja a módosított cowsay programot. Ha ez végrehajtásra került, a konténer automatikusan leáll.
A cowsay-hez hasonlóan a Docker whalesay funkciója is lehetőséget kínál a program sorrendjébe való beavatkozásra, hogy befolyásolja a terminálon megjelenő szöveget. Tesztelje ezt a funkciót úgy, hogy a kimeneti parancsban a „boo” szót bármilyen karakterlánccal vagy például egy gyenge bálna viccel helyettesíti.
sudo docker run docker/whalesay cowsay What did the shark say to the whale? What are you blubbering about?bash
Az összes Docker-kép megjelenítése a helyi rendszeren
Ha nem biztos abban, hogy már letöltött-e egy adott képet, akkor megtekintheti a helyi rendszeren található összes kép áttekintését. Használja a következő parancssori utasítást:
sudo docker imagebashAz docker images (alternatív docker image ls) parancs kinyomtatja az összes helyi képet, beleértve a fájlméretet, a címkét és a képazonosítót.

Ha elindít egy konténert, az alapul szolgáló kép másolatként letöltésre kerül a tárolóból, és véglegesen tárolásra kerül a számítógépén. Ez időt takarít meg, ha később szeretne hozzáférni a képhez. Új letöltés csak akkor indul el, ha a kép forrása megváltozik, például ha a tárolóban elérhetővé válik egy újabb verzió.
Az összes konténer megjelenítése a helyi rendszeren
Ha áttekintést szeretne kapni az összes, a rendszeren futó vagy korábban futott konténerről, használja a docker ps parancssori utasítást az --all opcióval (rövidítve: -a) együtt:
sudo docker ps -abash
A terminál kimenete olyan információkat tartalmaz, mint a megfelelő konténer azonosítója, az alapul szolgáló kép, a konténer indításakor futtatott parancs, a konténer indításának ideje és az állapot.
Ha csak a rendszerén jelenleg futó konténereket szeretné megjeleníteni, használja a docker ps parancssori utasítást más opciók nélkül:
sudo docker psbashJelenleg azonban nem lehetnek futó konténerek a rendszerén.
Docker-képek létrehozása
Docker bemutatónkban megmutattuk, hogyan lehet képeket keresni a Docker hubban, letölteni őket, és futtatni bármelyik rendszeren, amelyre a Docker motor telepítve van. A Docker segítségével azonban nem csak a regisztrációban elérhető alkalmazások széles skálájához férhet hozzá. A platform számos lehetőséget kínál saját képek létrehozására és más fejlesztőkkel való megosztására is.
A Docker bemutató bevezető fejezeteiben már megtanultad, hogy minden Docker-kép egy Dockerfile fájlon alapul. A Dockerfile fájlokat egyfajta képalkotási sablonnak tekintheted. Ezek egyszerű szöveges fájlok, amelyek tartalmazzák az összes utasítást, amelyre a Dockernek szüksége van egy kép létrehozásához. A következő lépésekben megtanulod, hogyan kell ilyen típusú Dockerfile fájlt írni, és hogyan kell utasítani a Dockert, hogy ezt használja alapul a saját képedhez.
- Új könyvtár létrehozása: A Docker fejlesztői csapata azt javasolja, hogy minden Dockerfile fájlhoz hozzon létre egy új könyvtárat. A könyvtárak Linux rendszerben a terminálban könnyen létrehozhatók. A következő parancssori utasítással hozhat létre egy mydockerbuild nevű könyvtárat:
mkdir mydockerbuildbash
- Navigálás az új könyvtárban: Az
cdparancs segítségével navigálhat az újonnan létrehozott munkakönyvtárban.
cd mydockerbuildbash
- Új szövegfájl létrehozása: Az Ubuntu rendszerben a terminálon keresztül is könnyen létrehozhat szövegfájlokat. Ehhez használjon egy Nano vagy Vim szerkesztőt. Hozzon létre egy Dockerfile nevű szövegfájlt a mydockerbuild könyvtárban.
nano Dockerfilebash
- Írja meg a Dockerfile fájlt: Az újonnan létrehozott szövegfájl az Ön által fejlesztett kép építési tervének szolgál. A kép teljes újraprogramozása helyett ebben a Docker bemutatóban a docker/whalesay demo képet használjuk sablonként. Ezt a Dockerfile fájlban a FROM paranccsal integráljuk. A :latest címkével hivatkozhat a kép legújabb verziójára.
FROM docker/whalesay:latestEddig a docker/whalesay úgy működött, hogy Ön szavakat adott a szájába. A terminálban a beírt szöveg pontosan úgy jelenik meg, ahogyan beírta, a konténer elindítására szolgáló paranccsal együtt. De érdekesebb lenne, ha a szkript automatikusan generálna új szöveges kimenetet. Ez például a minden Linux-rendszeren elérhető fortunes programmal valósítható meg. A fortunes alapvető funkciója, hogy szerencsesüti-mondásokat és humoros aforizmákat generál. A következő paranccsal frissítheti a jelenlegi helyi csomagindexet és telepítheti a fortunes programot:
RUN apt-get -y update && apt-get install -y fortunesEzután határozzon meg egy CMD utasítást. Ez a RUN parancs után kerül végrehajtásra, hacsak nem írja felül a call (docker run image CMD) parancs. A következő paranccsal futtathatja a fortunes programot a -a opcióval („Válasszon az összes adatbázisból”), és a kimenetet a cowsay programmal jelenítheti meg a terminálon:
CMD /usr/games/fortune -a | cowsayA Dockerfile fájlnak a következőnek kell lennie:
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsayMegjegyzés: A Dockerfile fájlban található parancsok mindig egysorosak és mindig kulcsszóval kezdődnek. Az alapul szolgáló szintaxis nem különbözteti meg a kis- és nagybetűket, így nem számít, hogy kis- vagy nagybetűvel írja-e őket. A kulcsszavak nagybetűs írásmódja azonban egységes.

- Szövegfájl mentése: Mentse el a bejegyzést. Ha Nano szerkesztőt használ, mentse el a [CTRL] + [O] billentyűkombinációval, és erősítse meg az [ENTER] billentyűvel. A Nano üzenetet jelenít meg, hogy három sor került a kiválasztott fájlba. Zárja be a szövegszerkesztőt a [CTRL] + [X] billentyűkombinációval.
- Kép létrehozása Dockerfile-ként: Ha képet szeretne létrehozni egy Dockerfile-ból, először keresse meg azt a könyvtárat, amelyben a szövegfájl található. Indítsa el a kép létrehozását a
docker buildparancssori utasítással. Ha a képet egyedi névvel szeretné ellátni vagy címkével ellátni, használja a-topciót, majd adja meg a kívánt címke és tag kombinációt. A standard formátum aname:tag.
A jelenlegi példában egy docker-whale nevű képet kell létrehozni:
docker build -t docker-whale .bashAz utolsó pont jelzi, hogy az alapul szolgáló Dockerfile a kiválasztott könyvtárban található. Lehetőség van a forrásfájlok fájlútvonalának vagy URL-jének megadására is.
A build folyamat akkor kezdődik, amikor a parancsot az [ENTER] billentyűvel megerősítik. Először a Docker démon ellenőrzi, hogy rendelkezik-e az image létrehozásához szükséges összes fájllal. A Docker terminológiában ezt a „kontextus” kifejezéssel foglalják össze.
Ezután a docker/whalesay kép a :latest címkével található:
Ha a kép létrehozásához szükséges kontextus már teljes egészében létezik, akkor a Docker démon elindítja a FROM paranccsal csatolt kép sablont egy ideiglenes konténerben, és továbblép a Dockerfile következő parancsára. A jelenlegi példában ez a RUN parancs, amely a fortunes program telepítését eredményezi.
A képalkotási folyamat minden egyes lépésének végén a Docker egy azonosítót ad a lépésben létrehozott megfelelő réteghez. Ez azt jelenti, hogy az alapul szolgáló Dockerfile minden egyes sora megfelel a rajta épített kép egy rétegének.
A RUN parancs végrehajtása után a Docker démon leállítja az ehhez létrehozott konténert, eltávolítja azt, és elindít egy új ideiglenes konténert a CMD utasítás rétegéhez. A létrehozási folyamat végén ez az ideiglenes konténer is leáll és eltávolításra kerül. A Docker megadja az új kép azonosítóját:
Successfully built a8f2048c9ab8
Az újonnan létrehozott kép a docker-whale név alatt található a helyileg mentett képek áttekintésében.
sudo docker imagesbash
Az újonnan létrehozott képből konténert indítani a parancssori utasítás sudo docker run használatával lehet, a kép nevével kombinálva:
sudo docker run docker-whalebashHa a kép a Dockerfile fájlból helyesen lett létrehozva, akkor a bálna most többé-kevésbé bölcs szavakkal fog inspirálni téged. Megjegyzés: Minden alkalommal, amikor újraindítod a konténert, egy új mondat generálódik.

Címkézze meg a Docker-képeket, és töltse fel őket a Docker Hubra.
Ha saját docker-whale képét szeretné feltölteni a hubra, és azt a közösség vagy egy munkacsoport számára elérhetővé tenni, először össze kell kapcsolnia azt a saját személyes névterében található, azonos nevű adattárral. A Docker terminológiában ez a lépés tagelés néven ismert.
Kép közzétételéhez a Docker hubban kövesse az alábbi lépéseket:
- Hozzon létre egy tárolót: Jelentkezzen be a Docker hubba a Docker azonosítójával és személyes jelszavával, majd hozzon létre egy nyilvános tárolót docker-whale néven.

- Határozza meg a kép azonosítóját: Határozza meg az egyéni kép docker-whale azonosítóját a parancssori utasítás
docker imagessegítségével.

Esetünkben a kép azonosítója a8f2048c9ab8. Erre a következő lépésben a címkézéshez lesz szükségünk.
- Címkézze meg a képet: Címkézze meg a docker-whale képet a parancssori program
docker tagsegítségével az alábbiak szerint:
sudo docker tag [Image-ID][Docker-ID]/[Image-Name]:[TAG]bashA jelenlegi példában a címkézés parancssori utasítása a következő:
sudo docker tag a8f2048c9ab8 [Namespace]/docker-whale:latestbashA docker images áttekintés segítségével ellenőrizheti, hogy helyesen címkézte-e a képet. A tároló neve most már tartalmaznia kell a Docker azonosítóját.

- Kép feltöltése: A kép feltöltéséhez először be kell jelentkeznie a Docker hubba. Ezt a
docker loginparancs segítségével teheti meg.
sudo docker loginbashA terminál ezután kéri, hogy adja meg felhasználónevét (Docker ID) és jelszavát.

Ha a bejelentkezés sikeres volt, akkor a docker push parancssori utasítással töltse fel a képet az újonnan létrehozott adattárba.
sudo docker push [Namespace]/docker-whalebashA feltöltési folyamat csak néhány másodpercet vesz igénybe. Az aktuális állapot a terminálon látható.

Jelentkezzen be a Docker hubba a böngészőn keresztül, hogy megtekintse a feltöltött képet.
![Docker hub: The repository [Namespace]/docker-whale in the detailed view Kép: Docker hub: The repository [Namespace]/docker-whale in the detailed view](https://guides.uicdn.net/fileadmin/_processed_/5/e/csm_docker-hub-push-result_56530d8ebc.webp)
Ha több képet szeretne feltölteni egy adattárba, használjon különböző címkéket, hogy képeit különböző változatokban kínálja. Például:
[Namespace]/docker-whale:latest
[Namespace]/docker-whale:version1
[Namespace]/docker-whale:version2A különböző képverziók áttekintése a Docker hub adattárban található, a „Tags” (Címkék) fül alatt.

A különböző projektek képeit azonban külön tárolókban kell tárolni.
Ha a feltöltés sikeres volt, az egyéni kép mostantól a nyilvános adattárban elérhető lesz minden Docker-felhasználó számára világszerte.
- Tesztfutás: Tesztelje a feltöltés sikerességét azáltal, hogy megpróbálja letölteni a képet.
Ne feledje, hogy a kép helyi verzióját először törölni kell, hogy letölthető legyen egy új példány ugyanazzal a címkével. Ellenkező esetben a Docker jelenti, hogy a kívánt kép már létezik a jelenlegi verzióban.

A helyi Docker-kép törléséhez használja a parancssori utasítást docker rmi a megfelelő képazonosítóval együtt. Ez a szokásos módon docker images segítségével határozható meg. Ha a Docker ütközést jelent, például mert egy képazonosító több tárolóban vagy egy konténerben is használatos, ismételje meg a parancsot a --force opcióval (rövidítve:-f ) a törlés kényszerítéséhez.
sudo docker rmi -f a8f2048c9ab8bash
Az összes helyi kép áttekintésének újbóli megjelenítése:
sudo docker ImagesbashA törölt elemeknek már nem kell megjelenniük a terminál kimenetében. Most használja a tárolóban megadott pull parancsot, hogy letöltse a kép új másolatát a Docker hubról.
sudo docker pull [Namespace]/docker-whalebash
További Docker témák és oktatóanyagok
A Docker univerzum hatalmas, és az idők folyamán a Docker eszközökből egy élő ökoszisztéma alakult ki. A Docker különösen hasznos a rendszergazdák számára, főleg ha komplex alkalmazásokat működtetnek, több konténerrel párhuzamosan, különböző rendszereken. A Docker sokféle funkciót kínál az ilyen klaszterek összehangolásához. Erről bővebben a Swarm és Compose segítségével történő Docker-összehangolásról szóló cikkünkben olvashat.
A Digitális útmutató további oktatóanyagokat tartalmaz a Docker használatához:
- Docker-tárhely beállítása
- Docker konténer kötetek
- Docker: Biztonsági mentés és visszaállítás
- Docker telepítése és futtatása Linux szerveren
- Docker Compose bemutató
A Docker számos alkalmazási helyzetben használható. A digitális útmutatóban a következő oktatóanyagokat találja:
- WordPress telepítése Docker konténerekben
- VPN futtatása Docker konténerben a SoftEther segítségével
- Nextcloud telepítése Dockerrel
- Portainer telepítése Docker alatt
- Redis Docker konténerekben
- Valheim Docker szerver
A Docker nem mindig a legjobb választás minden alkalmazáshoz. Az egyik cikkünk a legnépszerűbb Docker-alternatívákat mutatja be. Ezenkívül számos cikkünkben összehasonlítjuk a Dockert más platformokkal:
- Kubernetes kontra Docker
- Openshift kontra Docker
- Podman kontra Docker