Vissza a bloghoz

Docker Compose telepítése CentOS 7-re

Docker Compose telepítése CentOS 7-re

A dockerizáció újradefiniálta a telepítési és automatizálási folyamatokat a szoftveriparban. Megalakulása óta a Docker csapat folyamatosan arra törekszik, hogy zökkenőmentessé tegye az automatizált telepítést. A konténerizációs technológia nemcsak gyors alkalmazásfejlesztést és hatékonyságot tesz lehetővé, hanem időt és komoly erőfeszítéseket is megtakarít. Az olyan verhetetlen funkciók, mint a többkonténeres alkalmazások összehangolása, meghatározása és futtatása, együttesen teszik a Dockert a fejlesztők kedvenc választásává.

Docker konténerek és képek

Ahogy mélyebbre ásol a Docker megértésében, elengedhetetlen az alapok felfrissítése. A Docker működésének megértése trükkös lehet, ha még nincs tapasztalatod vele. Ebben a részben meghatározunk néhány olyan fogalmat, amelyek elengedhetetlenek a kezdők számára. Ha úgy gondolod, hogy ismered ezeket a fogalmakat, nyugodtan ugord át, és lépj tovább a következő részre. Megtekintheted a átfogó útmutatónkat is, amely elmagyarázza a Docker alapvető fogalmait.

  • Docker képek

A Docker képek (images) írásvédett fájlok gyűjteményei. Miután létrehoztál egy Docker képet, nem módosíthatod azt, bár a törlése engedélyezett. A Docker képeket arra használjuk, hogy igényeink szerint egy vagy több Docker konténert hozzunk létre belőlük. A rendszerben futó képek számának ellenőrzéséhez használd a következő parancsot:

Amikor képeket töltesz le egy távoli regiszterből, mint például a Docker Hub, fájlokat és mappákat töltesz le. Egy kép letöltéséhez használd a következő parancsot:

  • Docker konténerek

A Docker képek a Docker konténerek tervrajzai. Technikailag egy Docker konténer egy Docker kép egy példánya. Képzeld el úgy, hogy ha a Docker kép olyan, mint a szülő, akkor a Docker konténer a gyermek. Ellentétben a Docker képekkel, amelyeket egyszer hozol létre, egyetlen képből több konténert is létrehozhatsz. A rendszerben futó képek listájának ellenőrzéséhez használd a következő parancsot:

Egy konténer letöltéséhez használd a következő parancsot:

  • Hogyan működnek a Docker képek és konténerek

A Docker képek és konténerek kéz a kézben működnek, hogy felszabadítsák a Dockerben rejlő lehetőségeket. Egyetlen konténer a Docker képből épül fel a run parancs segítségével. Amikor létrehozol egy Docker konténert, egy új réteg jön létre, amelyet konténerrétegnek (Container Layer) neveznek. Az újonnan létrehozott réteg tartalmazza az alkalmazást és annak függőségeit. Minden általad létrehozott konténernek más-más írható/olvasható konténerrétege van, és a Docker konténerben végrehajtott változtatások automatikusan tükröződnek a konténerrétegen. Ne feledd, ha a konténer törlése mellett döntesz, a konténerréteget is elveszíted.

Köszöntsd a Docker Compose-t

Docker Compose egy konténerkezelő eszköz, amellyel az összes Docker konténeredet egyetlen YAML fájlba konfigurálhatod és hangolhatod össze. A konténerek indítása, leállítása, valamint a konténerek közötti kapcsolatok és kötetek létrehozása mind egyszerűbbé válik ezzel az eszközzel.

  • Mit csinál a Docker Compose?

Egyszerűen fogalmazva, a Docker Compose megkönnyíti a bonyolult feladatokat azáltal, hogy kiküszöböli a konfliktusokat és a szervezési problémákat. Lehetővé teszi a felhasználók számára a különböző Docker konténerek központi kezelését. Más szóval, ahelyett, hogy az összes szolgáltatás egyetlen nagy konténerben lenne, a Docker Compose több szolgáltatásra bontja le a szolgáltatást, így a felhasználók könnyedén elérhetik és kezelhetik azokat.

Ebben az útmutatóban végigvezetünk a Docker Compose jelenlegi verziójának telepítési lépésein a többkonténeres alkalmazások kezeléséhez CentOS 7 rendszeren. Áttekintünk néhány alapvető parancsot is, amelyekre szükséged lesz a szoftver sikeres használatához.

  • Hogyan használjuk a Docker Compose-t

A Docker Compose használata rendkívül egyszerű, még a kezdők számára is. Lássuk a Docker Compose háromlépéses folyamatát:

1. Felépítés: Először építsd fel a képeket a Dockerfile-ban a projekt igényeinek megfelelően, vagy töltsd le őket a regiszterből.

2. Meghatározás: Ezután meg kell határoznod az összes összetevő-szolgáltatást a compose.yml fájlban.

3. Futtatás: Az összetevők meghatározása után itt az ideje a futtatásnak a docker-compose paranccsal.

Előfeltételek

Mielőtt továbblépnénk a Docker Compose CentOS szerverére történő telepítésével, győződjön meg arról, hogy rendelkezik a következőkkel:

Most már minden készen áll. Ezután kövesse az alábbi lépéseket a Docker Compose CentOS 7-re történő telepítéséhez.

1. lépés: A Docker Compose telepítése

A Docker Compose legújabb verziójának beszerzéséhez kövesse a Docker dokumentációban található utasításokat, és töltse le a binárisokat a Docker’s GitHub repozitóriumából. Ellenőrizze, hogy a szoftver legfrissebb verziójával rendelkezik-e az alábbi parancs futtatásával:

A bináris futtathatóságához állítsa be az alábbi jogosultságokat:

Ezután ellenőrizze a verziót, hogy megbizonyosodjon a telepítés sikerességéről:

Az alábbi kód kiírja a telepített verziót:

docker-compose --version

Ezután futtathat egy “Hello World” példát a telepített Docker Compose segítségével.

2. lépés: Konténer futtatása a Docker Compose segítségével

A Docker Hub-on, a nyilvános Docker regiszterben található egy “Hello World” képfájl (image), amely bemutatóra és tesztelésre használható. Ez megmutatja, hogyan futtathat egy konténert a Docker Compose segítségével a lehető legkisebb konfigurációval. Először létre kell hoznia egy könyvtárat a YAML fájlunk számára:

Ezután lépjen be ebbe a könyvtárba:

Ezután a preferált szövegszerkesztőjével hozza létre a YAML fájlt. Ebben az útmutatóban a következőt fogjuk használni: Vi:

Nyomja meg az i gombot a beillesztési (insert) módba lépéshez, majd gépelje be ezt a fájlba:

A konténer nevébe az első sor fog beépülni. A második sor utasítja a programot, hogy melyik képfájlt (image) használja a konténer létrehozásához. A docker-composeup parancs egy hello-world nevű helyi képfájlt fog keresni, hogy ellenőrizze az elérhetőségét a parancs beírásakor. A beillesztési módból való kilépéshez nyomja meg az ESC billentyűt. Ezután írja be a :x parancsot, majd nyomja meg az ENTER billentyűt a fájl mentéséhez és a kilépéshez. A docker images parancs használható a gépen lévő képfájlok manuális ellenőrzésére:

Ha egyáltalán nincsenek helyi képfájlok, csak az oszlopfejlécek jelennek meg:

Docker Compose on CentOS 6

A konténer létrehozásához futtassa ezt a parancsot, miközben még mindig a /hello-world könyvtárban:

Amikor először futtatja a parancsot, és nincs hello-world nevű helyi képfájl, az le lesz töltve a Docker Hub tárhelyről:

sudo docker-compose up

A telepítés működésének ellenőrzéséhez a Docker Compose letölti a képfájlt, létrehoz egy konténert, csatolja azt, és végrehajtja a hello programot:

hello program

Ezt követően megjelenik az elvégzett műveletek leírásának kinyomtatása:

Docker Compose on CentOS 3

Amikor a hello befejezi a feladatát, a konténer leáll, és a parancs már nem fog futni a konténerben. Az aktív folyamatok megtekintésekor az oszlopfejlécek fognak megjelenni. Azonban a hello-world konténer nem fog szerepelni a listában, mert jelenleg nem működik:

sudo docker ps

Az összes konténer megtekintéséhez, nem csak a jelenleg futókhoz, használja az -a jelzőt (flag):

Docker Compose 2

Most, hogy kipróbálta egy konténer futtatását, továbbléphet a Docker Compose néhány alapvető parancsának megismerésére.

3. lépés: Docker Compose parancsok

A Docker Compose használatának megkezdéséhez ez a szakasz áttekinti a docker-compose eszköz által biztosított alapvető parancsokat. docker-compose egy olyan parancs, amely könyvtáranként működik. Ha minden konténerhez egy könyvtárat és könyvtáranként egy docker-compose.yml fájlt hoz létre, akkor ugyanazon a számítógépen több Docker-konténercsoportot is futtathat.

Eddig önállóan futtatta a Docker Compose-t. Kikapcsolhatja a következő billentyűkombináció megnyomásával: Ctrl-C. Ez lehetővé teszi a terminálablak számára a hibakeresési üzenetek megjelenítését. Éles környezetben azonban célszerű a docker-compose parancsot szolgáltatásként futtatni. A -d opció egyszerű módot kínál ennek megvalósítására:

Most a docker-compose a háttérbe kerül. A Docker-konténerek csoportja (legyen az leállított vagy futó) a következő paranccsal kezelhető:

A konténer State állapota Exited értékként jelenik meg, ha le van állítva, amint az az alábbi példában is látható:

Docker Compose on CentOS 5

Egy éppen futó konténer a következőt fogja megjeleníteni:

Leállíthatja az összes futó Docker-konténert abban a könyvtárban, ahol a Docker-csoport elindításához használt docker-compose.yml fájl található:

Note: Ha kényszerítettebben kell leállítania a dolgokat, a docker-compose kill parancs is használható.

Bizonyos esetekben a Docker-konténerek elmenthetik a régi adataikat magukban. Használja az rm parancsot az összes konténer eltávolításához a konténercsoportból, ha teljesen tiszta lappal szeretne indulni:

Ha ezen parancsok bármelyikét egy másik könyvtárból futtatja, mint ahol a Docker-konténer és a .yml fájl található, az hibaüzenetet fog eredményezni:

Ebben a szakaszban áttekintettük a konténerek Docker Compose segítségével történő kezelésének alapjait. Mint említettük, a következő szakaszban hozzáférhet a Docker fájlrendszeréhez, és parancsokat futtathat a konténeren belüli parancssorból, ha további ellenőrzésre van szüksége a konténerei felett.

Step 4: Access the Docker Container Filesystem

Lehetőség van parancssor futtatására egy konténerben, és a konténer fájlrendszerének elérésére a docker exec parancssori eszköz használatával. Példaként futtassa a „Hello World” alkalmazást, és nézze meg, mennyi ideig tart a docker exec parancs végrehajtása. Ebben az útmutatóban az Docker Hub image of Nginx használható. Hozzon létre egy új könyvtárat nginx néven, és lépjen be oda:

Most már rendelkeznie kell egy docker-compose.yml fájllal, amelyet megnyithat egy szövegszerkesztőben:

Ezután adja hozzá a következőket a fájlhoz:

Itt az ideje bezárni az alkalmazást. Az Nginx konténer háttérben történő elindításához használja a következő parancsot:

Docker Compose on CentOS 1

A Docker Compose letölti az Nginx-képet, és a háttérben futtatja a konténert. A folytatáshoz meg kell adnia a konténer CONTAINER ID azonosítóját. Az összes jelenleg futó konténert a következő paranccsal tekintheti meg:

A következőt fogja látni:

 Docker Compose on CentOS 4

Ha módosítani szeretné a fájlrendszert ezen a konténeren belül a docker exec használatával, akkor a konténer egyedi azonosítóját (ebben az esetben: f139d0d78ca7) kell használnia egy shell létrehozásához a konténeren belül:

sudo docker exec -it

Interaktív terminált a -t opcióval nyithat meg, míg a /bin/bash egy bash shellt biztosít a konténer számára. Ezt követően ezt a bash promptot fogja látni a konténernél:

A konténeren belül egy parancssort talál. A konténer újraindítása felülír minden elvégzett módosítást, kivéve, ha olyan könyvtárban dolgozik, amelyet egy adatkötet részeként mentett el. Ha hozzá van szokva a Linux parancssori eszközeihez, tudnia kell, hogy a legtöbb Docker-rendszerkép a legalapvetőbb Linux-telepítések használatával készül.

Összegzés

Végigvezettük a Docker Compose aktuális verziójának telepítési lépésein a többkonténeres alkalmazások kezeléséhez CentOS 7 rendszeren. Lenyűgöző a Docker Compose azon képessége, hogy egyszerre nagyszámú konténert képes elindítani és leállítani. A sablonoktól az alkalmazásokig mindössze percek kérdése az út. Így ha a munkája során egyszerre több konténert kell futtatnia, a Docker Compose használata kiváló választás. Ez azonban nem egy univerzális megoldás. Az egyedi igényeitől függően találhat jobb lehetőségeket is, például a Kubernetes.

A Docker Compose lehetőségeinek további felfedezéséhez tekintse meg ezeket az oktatóanyagokat a blogunkról:

Kellemes számítástechnikát!

author

Hark Labs

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.