Vissza a bloghoz

Docker adatkötetek használata Ubuntu 20.04-en

Docker adatkötetek használata Ubuntu 20.04-en

Bevezetés

Docker adatkötetek egy fontos koncepció az alkalmazások konténerizálása során. Ezen koncepció ismerete létfontosságú a konténerizált alkalmazás legjobb élményének biztosításához, valamint a megbízható perzisztencia és adatkezelés érdekében. Bár ez a koncepció fontos, sok fejlesztő számára zavaró és összetett is egyben. Fontos, hogy a fejlesztők és a DevOps szakemberek megértsék a Docker adatkötetek beállítását, helyes használatát, ismerjék a különböző kötettípusokat, és azt, hogy melyik típust válasszák az alkalmazásukhoz.

Ez az útmutató a Docker adatkötetek koncepciójának és használatának bemutatására összpontosít. Az útmutató elolvasása után elsajátítja a Docker adatkötetek bármely típusának beállítását és kezelését.

Előfeltételek

Az útmutató követéséhez a következőkre lesz szüksége:

  1. Ubuntu telepítve. Tekintse meg a Hogyan állítsa be Ubuntu 18.04 szerverét útmutatónkat gyors hivatkozásként.
  2. Ubuntu felhasználó sudo jogosultságokkal. Ez a lépés bonyolult lehet, különösen, ha nem ismeri a Linuxot. Olvassa el a A Linux Sudoers fájl konfigurálása című cikket a részletes útmutatóért.
  3. Docker telepítve az Ubuntun. A Docker Ubuntura történő telepítéséhez kövesse a Hogyan telepítsük & üzemeltessük a Dockert Ubuntun a nyilvános felhőben blogbejegyzésünket.

Bár ez az útmutató a Docker Ubuntun történő kezelésére összpontosít, docker parancsok minden olyan operációs rendszeren alkalmazhatók, amelyre telepítve van a Docker.

A Docker konténerek működésének megértése

A Docker adatkötetek teljes megértéséhez tudnia kell, hodyan működnek a Docker konténerek. Ebben a részben áttekintést nyújtunk az alapokról az új Docker-felhasználók számára. Ha tisztában van a Docker működésével, vagy tapasztalt Docker-felhasználó, kihagyhatja ezt a részt, és elkezdheti az adatkötetekkel való ismerkedést.

A Docker konténerek lehetővé teszik egy alkalmazás futtatását a gazda operációs rendszeren a Docker platform telepítésével. Mivel a Docker platform a gazda operációs rendszerre van telepítve, egy absztrakció jön létre a gazdagép és a vendégalkalmazás között. A virtuális gépekkel ellentétben a Docker konténer megosztja a Linux kernelét a gazda operációs rendszerrel. Mivel a Dockernek nincs szüksége további operációs rendszer telepítésére a gazdagépen, a Docker alkalmazások könnyűek és elérhetők minden olyan gazdagépen, amelyre a Docker telepítve van.

Mivel nincs további vendég operációs rendszer, a Docker platform megosztja az erőforrásokat a gazdagéppel. A Docker alkalmazás elindítása gyors, de a bonyolultság akkor jelentkezik, amikor meg kell osztani az erőforrásokat. A Docker nem rendelkezik saját memóriával vagy tárhellyel az adatok tartós megőrzéséhez. Ezeknek az erőforrásoknak a gazdagépről kell származniuk. A virtuális gépek használatához szokott emberek nehéznek találják az erőforrások megosztásának és kezelésének ezt a folyamatát. A megfelelő ismeretek hiánya váratlan és nem kívánt eredményekhez vezethet. Bár ez az útmutató feltételezi, hogy ismeri a Docker ökoszisztémát, nyugodtan olvassa el részletes útmutatónkat: Mi az a Docker? A Docker ökoszisztéma áttekintése egy gyors ismétlésért.

Adatok tartós megőrzése Docker adatkötetek használatával

Amikor a Dockerrel dolgozik, nem hozhat létre közvetlenül kötetet azon belül. Ezért az adatok tárolásához létre kell hoznunk egy Docker kötetkonténert, amelyhez egy kötet van csatolva. Ahhoz, hogy a Docker alkalmazásunkat összekapcsoljuk ezzel az adatkötet-konténerrel, a Docker --volume-from parancsát használjuk a konténer lekéréséhez és az alkalmazásunkhoz való csatolásához.

Lépésről lépésre végigmegyünk a folyamaton:

  1. Először hozzon létre egy új konténert, melynek neve my-container az alábbi parancs futtatásával:
    Docker Data Volumes 1 docker create my-container
    Ez létrehoz egy új konténert a /tmp mappában. Szükség szerint módosíthatja a mappa könyvtárát.
  2. Most, hogy az adatkonténere készen áll, írhat bele egy új Ubuntu konténer futtatásával a --volume-from jelzővel, majd a bash futtatásával. Bármi, amit a tmp könyvtár a gazdagépünk /tmp mappájába lesz mentve:
    Docker Data Volumes 2 Run docker container
    A -t parancssori opció meghív egy terminált a konténeren belülről. A -i jelző interaktívvá teszi a kapcsolatot. Az Ubuntu konténer bash parancssorában hozzon létre egy fájlt a /tmp:
  3. Végül lépjen ki ebből a bash-ből a exit parancs futtatásával. Ezután futtassa az alábbi parancsot:
    Docker Data Volumes 3 New container sample file
    Meg fogja találni a sample_file fájlt ebben a könyvtárban. Nincs korlátozás a megadható kötetek számára vonatkozóan. Bármennyi kötetet hozzáadhat a --volumes-from jelző használatával. Emellett tetszőleges számú adat-kötet konténert is létrehozhat.

Adatok elérése a gazdagép és a Docker konténer között

A virtualizációban jártas olvasók számára ez az opció hasonló a virtuális gépek megosztott mappa opciójához. Itt ahelyett, hogy egy data-only konténert hoznánk létre, a Docker alkalmazásunkat egy Docker rendszerkép használatával futtatjuk, és felülírjuk annak egyik könyvtárát a gazdagép egy könyvtárának tartalmával.

Gyakori forgatókönyv a naplófájlok mentése a gazdagépre. Erre azért lehet szükség, hogy szükség szerint elemezhessük ezeket a fájlokat anélkül, hogy be kellene lépnünk a gépbe. Ebben a forgatókönyvben tegyük fel, hogy a Docker Nginx image használja, és a naplófájljait a gazdagépen szeretné tárolni. Az Nginx Docker rendszerkép a naplókat a /var/log/nginx könyvtárba írja, de ez a /var/log/nginx a Docker Nginx konténeren belül található. Így ez a hely nem érhető el a gazdagép számára.

Célunk eléréséhez létre kell hoznunk egy megosztott mappát a naplók tárolására a gazdagép és a Docker Nginx rendszerkép között. Az alábbiakban ezt a folyamatot mutatjuk be egy egyszerű, lépésről lépésre követhető útmutatóban:

  1. Először hozzon létre egy könyvtárat a gazdagépén, ahol a naplókat tárolni szeretné:
    Ezután indítsa el a konténert az alábbi parancs futtatásával:
    Docker run nginx container
  2. Ez a run parancs elfogad néhány argumentumot, ezért bontsuk le, hogy jobban megértsük:
    • -p 5000:80: Porttovábbítás beállítása. Az Nginx konténer alapértelmezés szerint a 80 porton figyel, és ez leképezi az Nginx konténer 80 portját a gazdagép 5000 portjára.
    • -d: Válassza le a folyamatot, és futtassa a háttérben.
    • -v ~/my-nginxlogs:/var/log/nginx: Összekapcsoljuk a /var/log/nginx könyvtárat az Nginx konténeren belülről a gazdagép /my-nginxlogs könyvtárával. Ez a : választja el a gazdagép útvonalát a konténer útvonalától. Mindig a gazdagép útvonala áll az első helyen.

Most, hogy az Nginx konténerünk fut, először ellenőrizze, hogy az Nginx szerver kiszolgál-e a gazdagépünk 5000 portján a webböngésző megnyitásával és a következő URL futtatásával: http://localhost:5000. Amint megjelenik az üdvözlőoldal, az Nginx szerver készen áll, és naplókat hoz létre a /var/log/nginx mappájában.

Ha megnyitja a gazdagép /my-nginxlogs mappáját, itt láthatja a Docker Nginx konténerből származó naplófájlokat. Ha módosításokat végez a gazdagép /my-nginxlogs mappájában, miközben az Nginx konténer fut, a változások a konténer /var/log/nginx mappájában is tükröződni fognak.

Összegzés

Ebben az útmutatóban átfogó megközelítést alkalmaztunk a Docker adatkötetek (Data Volumes) megértéséhez. Megvizsgáltuk a kötetek létrehozását az alkalmazásához, az adatok megosztását a gazdagép és a Docker konténer között, az adattípusokat és az adatok tartósítását. Ez segíteni fog az adatok tartós megőrzésében a konténerizált alkalmazásaiban, valamint az alkalmazás állapotának és konfigurációjának kezelésében.

A Dockerrel kapcsolatos további ismeretekért tekintse meg a következő útmutatókat a blogunkon:

Kellemes számítógépezést!

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