Vissza a bloghoz

Hogyan telepítsük és konfiguráljuk a Docker Compose-t Ubuntu 20.04-en

Hogyan telepítsük és konfiguráljuk a Docker Compose-t Ubuntu 20.04-en

Bevezetés

Konténerizáció az elmúlt években hatalmas lendületet vett a szoftvertechnológiai iparágban. Ez a Docker-nek köszönhető, amely egy olyan konténerplatform, amely leegyszerűsíti a konténereken belüli folyamatok kezelését.

A konténerek könnyűsúlyú, virtualizált, hordozható, szoftveresen definiált szabványosított környezetek, amelyek lehetővé teszik a szoftverek futtatását a fizikai gazdagépen futó más szoftverektől elkülönítve. Ez a hordozhatósági funkció lehetővé teszi a fejlesztők számára, hogy alkalmazásaikat elkülönített szolgáltatásokra modularizálják. Ezenkívül egymástól függetlenül is kiszolgálhatók, ami teret ad a skálázásnak.

Bár egy alkalmazás több szolgáltatásra való felosztása kétségkívül nagyszerű, ez a több konténer kezelésével járó többletköltséggel jár. Biztosítania kell, hogy kommunikáljanak, egyszerre induljanak el és álljanak le. Egy Docker Compose nevű eszköznek köszönhetően ez egyszerű feladattá válik. A Docker Compose lehetővé teszi a fejlesztők számára, hogy többkonténeres Docker-alkalmazásokat futtassanak egy YAML fájlban meghatározott szabályok szerint. A YAML fájl tartalmazza az alkalmazásszolgáltatások definícióit, valamint azt, hogyan oszthatnak meg adat köteteket és hálózatokat. Miután meghatározta a szolgáltatásokat, egyetlen paranccsal elindíthatja az összeset. Ebben az útmutatóban megmutatjuk, hogyan telepítheti, konfigurálhatja és kezdheti el használni a Docker Compose-t Ubuntu 20.04-en.

Előfeltételek

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

A Docker Compose legújabb stabil verzióját fogjuk letölteni a hivatalos GitHub tárhelyéről. A legújabb verziót megtalálhatja a kiadások (releases) oldalon, ezen útmutató írásakor a legújabb verzió a 1.28.5.

Először jelentkezzen be az Ubuntu szerverére a nem-root sudo felhasználóval, és írja be a következő parancsot. Ez letölti a legújabb kiadást (1.28.5), és elmenti a futtatható fájlt a /usr/local/bin/docker-compose könyvtárba. Ezáltal globálisan elérhetővé válik docker-compose néven:

A letöltés befejezése után írja be a következő parancsot a megfelelő jogosultságok beállításához, hogy a docker-compose parancs futtatható legyen:

Most ellenőrizze, hogy a telepítés sikeres volt-e, és a parancs meghívható-e a következő parancs futtatásával:

A következőhöz hasonló kimenetet kell kapnia:

docker compose version

Ez megerősíti, hogy a Docker Compose sikeresen telepítve lett a rendszerére.

2. lépés: A docker-compose.yml fájl létrehozása

Annak érdekében, hogy megértse, hogyan kell dolgozni a docker-compose.yml, fájllal, konfigurálni fogunk egy webszerver környezetet a hivatalos Nginx image segítségével a Docker Hub-ról. A telepítés után képesnek kell lennünk egy egyszerű HTML oldal kiszolgálására a konténerből.

A munkakönyvtárunkat a saját (home) mappánkban fogjuk létrehozni, ahonnan dolgozni fogunk. Írja be a következő parancsot a könyvtár létrehozásához:

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

A könyvtárba belépve hozzon létre egy alkalmazásmappát, amely a dokumentumgyökér (document root) lesz az Nginx környezet számára. Ezt a mappát nevezhetjük app:

  • HTML oldal létrehozása

Használjuk a nano szövegszerkesztőt az index.html fájl létrehozásához az app mappában:

Ezután adja hozzá a következő HTML-kódot a fájlhoz:

A fájl mentéséhez nyomja meg a CTRL + O, majd az ENTER billentyűket. Ezután zárja be a CTRL + X billentyűkombinációval. Ezután létrehozzuk a docker-compose.yml fájlt a projektünk gyökérkönyvtárában.

  • A HTML oldal hosztolása a docker-compose használatával

Ezután írja be a következő parancsot a fájl megnyitásához a nano szerkesztővel:

Ezután adja hozzá a következő kódrészletet a fájlhoz:

A docker-compose.yml fájl azzal a verziószámmal kezdődik, amely megmondja a Docker Compose-nak, hogy melyik konfigurációs verziót használjuk. Kérjük, kövesse ezt a linket, ha többet szeretne megtudni a Docker Compose verziókezelésről.

A verziószám után a services (szolgáltatások) blokk következik, amely a környezetet alkotó szolgáltatásokat tartalmazza. Ebben az útmutatóban csak egyetlen szolgáltatást adtunk meg, amelynek neve webserver. A webserver szolgáltatás az nginx:alpine képet fogja használni. A portátirányítást is meghatároztuk: 8000:80. Ez azt jelenti, hogy a gazdagép 8000 portjáról érkező összes kérés a webserver konténer 80 portjára lesz átirányítva, ahol az Nginx fut.

A volumes direktíva lehetővé teszi egy megosztott kötet létrehozását a gazdagép és a konténer között, amelyet az adatok megőrzésére használhatunk. A mi yml kód részletünkben megosztjuk a helyi app mappát a konténerrel. A konténeren belül ez a /usr/share/nginx/html helyre kerül. Ezért felülírja az Nginx alapértelmezett dokumentumgyökerét. Most már elmentheti és bezárhatja a fájlt.

Eddig a pontig létrehozta a példa HTML weboldalát és a docker-compose.yml fájlt a konténerizált webszerver-környezet felépítéséhez szükséges utasításokkal. Lássuk a következő lépésben, hogyan indíthatjuk be ezt a beállítást.

3. lépés: A Docker Compose parancs végrehajtása

Ebben a lépésben futtatni fogjuk a parancsot a konténerizált környezetünk elindításához. Alább látható az az egyetlen parancs, amely elindítja a Docker-képek letöltési folyamatát, létrehoz egy konténert a webserver szolgáltatáshoz, és elindítja a konténerizált környezetet a háttérben:

A Dockert úgy tervezték, hogy gyors és hatékony legyen, így a fenti parancs futtatásakor először ellenőrzi a helyi rendszert a meghatározott kép után. Ha hiányzik, akkor letölti azt a Docker Hub tárolóból. A következőhöz hasonló kimenetet kell mutatnia:

 compose up

Amikor a parancs végrehajtása befejeződik, elindítja a háttérben futó konténerkörnyezetet. A futást a következő paranccsal ellenőrizheti:

Hasonló kimenetet kell kapnia:

 compose ps

Ha elnavigál a szervere IP-címére vagy domain nevére, és hozzáadja a 8000-es portot, azaz a server_domain_or_IP:8000 címet, látnia kell az általunk létrehozott példa HTML oldalt:

docker compose webpage

Ha emlékszik, beállítottunk egy megosztott kötetet a konténer és a gazdarendszer között. Ez szinkronban tartja a konténerben lévő fájlokat a gazdarendszeren lévő fájlokkal. Ezért ha módosítja a index.html fájlt, az automatikusan szinkronizálódik a konténerrel, és megjelenik, amikor újratölti az oldalt a böngészőben. Kipróbálhatja a nano szerkesztővel. Tanuljunk meg még néhány parancsot a következő lépésben.

4. lépés: További Docker Compose parancsok a konténerkörnyezetek kezeléséhez

Most, hogy sikeresen közzétett egy weboldalt az egyetlen docker-compose-up paranccsal, lássunk néhány további parancsot, amelyek hasznosak lehetnek a konténerizált környezetek kezelésében.

A logs paranccsal kezdjük. A naplófájlok döntő fontosságúak lehetnek az alkalmazáshibák elhárításakor. Először futtassa a következő parancsot az Nginx konténer által generált naplók megtekintéséhez:

Íme egy minta a naplók kimenetéből:

 logs

A környezet futtatását a konténerek állapotának megváltoztatása nélkül is felfüggesztheti a következő paranccsal:

 compose pause

Ezután a felfüggesztés feloldásához vagy a végrehajtás folytatásához használja a következő parancsot:

docker compose unpause

Előfordulhat, hogy le szeretné állítani a konténereket az adataik törlése nélkül. Ehhez használja a következő parancsot:

stop

A konténerizált környezethez kapcsolódó konténerek, hálózatok és kötetek törléséhez használja a következő parancsot:

docker compose down

Tartsa szem előtt, hogy a fenti parancs nem távolítja el a Docker Compose által a környezet elindításához használt alapképeket. Ez gyorsabb buildelést biztosít a környezet indításakor, mivel ellenőrzi a helyi gépen a megfelelő képeket. Ha teljesen el szeretné távolítani az alapképet, azt meg kell adnia a parancsban. Példánkban eltávolíthatjuk a nginx:alpine képet a következő paranccsal:

 image remove

Végezetül további parancsokat találhat a hivatalos Docker Compose parancssori hivatkozás dokumentációban.

Összegzés

Ebben az útmutatóban telepítette a Docker Compose-t az Ubuntu 20.04 rendszerre, létrehozott egy Nginx webszerver-képen alapuló konténerizált környezetet, és megtanulta, hogyan kezelheti a különböző szolgáltatásokat a Docker Compose parancsok segítségével.

Ha szeretné megtanulni, hogyan telepíthet egy valós, több konténertől függő dinamikus alkalmazást, kérjük, olvassa el az alábbi útmutatónkat: Laravel, Nginx és MySQL telepítése Docker Compose segítségével. A docker-compose parancsok teljes listáját megtalálja a hivatalos Docker Compose dokumentációban.

Kellemes számítógép-használatot!

author

Pranay Kapgate

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ő.