Dokkmunkás

Hogyan működik a Dockerfile?

Hogyan működik a Dockerfile?
A dokkoló kép segítségével csak egyetlen tárolót telepíthet. Ha azonban több tárolót kell telepítenie (mindegyiket különböző feladatokhoz) ugyanabból a képből, akkor mi történik? Ezt a dockerfile segítségével oldhatja meg.

A Dockerfile egy egyszerű szöveges fájl, amely tartalmazza az összes parancsot, amelyet a felhasználó meghívhat a parancssorba egy kép összeállításához vagy felépítéséhez. A docker build segítségével könnyedén automatizálhatja azt az összeállítást, amely egymás után több parancsot definiál a docker fájlban.

Például le szeretné tölteni a dokkoló képét a dokkoló központból az Ön saját fejlesztési igényeinek megfelelően. Ezután frissíteni kívánja a képet, telepítsen néhány csomagot a fejlesztési folyamatához. Ebben az esetben létrehozhat egy docker fájlt, belefoglalhatja az összes paramétert a saját igényeinek megfelelően, és elkészítheti az egyéni képet. A dockerfájl létrehozása után újra és újra felhasználhatja ugyanazt a képet, anélkül, hogy manuálisan telepítené az összes szükséges csomagot a fejlesztési folyamathoz.

Dockerfile Basic

A dockerfile használatának megkezdése előtt fontos tudni, hogyan készítsen dockerfile-t. A Dockerfile olyan konkrét kulcsszavakat tartalmaz, amelyek felhasználhatók egy adott kép elkészítéséhez. Az alábbiakban felsoroljuk a dockerfájlban használt összes kulcsszó rövid magyarázatát:

A Dockerfájl létrehozása

Ebben a szakaszban létrehozunk egy docker fájlt egy LAMP kiszolgáló kép felépítéséhez az Ubuntu alapképből.

Először létre kell hoznia egy könyvtárat a dockerfájl tárolásához. A következő paranccsal hozhatja létre:

mkdir LAMP

Ezután hozzon létre egy Dockerfile nevű könyvtárat a könyvtáron belül:

nano LAMP / Dockerfile

Adja hozzá a következő sorokat:

Az ubuntuból: legújabb
KARBANTARTÓ Hitesh Jethva
ENV DEBIAN_FRONTEND = nem interaktív
RUN Futtassa apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
CMD ["apachectl", "- D", "FOREGROUND"]
8080-as expozíció

Mikor elkészült, mentse és zárja be a fájlt.

Épületkép a Dockerfile segítségével

A Dockerfile létrehozása után könnyen létrehozhat egy egyedi LAMP képet a Dockerfile segítségével.

Először módosítsa a könyvtárat LAMP-ra, és futtassa a következő parancsot a kép létrehozásához a fájlból:

cd LÁMPA
docker build -t "lámpa: Dockerfile".

A fenti parancs megkezdi az Ubuntu legújabb képének letöltését a Docker Hubról, és telepíti a Dockerfile-ben megadott szükséges csomagokat. Miután a kép sikeresen elkészült, a következő kimenetet kell látnia:

Építési kontextus küldése a Docker 2. démonnak.048kB
1/6. Lépés: UBuntu-tól: legújabb
legújabb: Húzás a könyvtárból / ubuntu
54ee1f796a1e: Húzza ki
f7bfea53ad12: Húzza ki
46d371e02073: Húzza ki
b66c17bbf772: Húzza teljes
Digest: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Állapot: Letöltött újabb kép az ubuntu: legújabb verzióhoz
---> 4e2eef94cd6b
2/6. Lépés: KARBANTARTÓ Hitesh Jethva
---> Futás a 047977af2c2a-ban
A 047977af2c2a közbenső tartály eltávolítása
---> 1331df625c4c
3/6. Lépés: ENV DEBIAN_FRONTEND = nem interaktív
---> Futás a 3597152c7a1b-ben
A 3597152c7a1b közbenső tartály eltávolítása
---> 86c82c95e75d
4/6. Lépés: Futtassa az apt-get update -y && apt-get install apache2 mariadb-szervert
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
A 322532299fd9 közbenső tartály eltávolítása
---> f6897a9554f7
5/6. Lépés: CMD ["apachectl", "- D", "FOREGROUND"]
---> Futás: 669635bc8bcb
A köztes tartály eltávolítása 669635bc8bcb
---> e8400eb2e677
6/6. Lépés: 8080 EXPOZÍCIÓ
---> Futás: 937ae2b2d305
A 937ae2b2d305 közbenső tartály eltávolítása
---> 2123a857361d
Sikeresen felépített 2123a857361d
Sikeresen felcímkézett lámpa: Dockerfile

Most felsorolhatja az újonnan létrehozott képet a következő parancs futtatásával:

dokkoló képek

A következő kimenetet kell látnia:

A TÁROLÓ CÍMKÉJÉNEK KÉSZÍTETT MÉRETE
lámpa Dockerfile 2123a857361d 44 másodperccel ezelőtt 520MB
ubuntu latest 4e2eef94cd6b 8 napja 73.9 MB

Most egy egyedi LAMP szerver kép van a kezében. Az egyes parancsok előzményeit a következő paranccsal is megtekintheti:

dokkolótörténeti lámpa: Dockerfile

A következő kimenetet kell látnia:

MÉRET MEGJEGYZÉSÉVEL LÉTREHOZOTT KÉP
2123a857361d 16 perccel ezelőtt / bin / sh -c # (nop) EXPOZÍCIÓ 8080 0B
e8400eb2e677 16 perccel ezelőtt / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 16 perccel ezelőtt / bin / sh -c apt-get update -y && apt-get inst… 446MB
86c82c95e75d 17 perccel ezelőtt / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin… 0B
1331df625c4c 17 perccel ezelőtt / bin / sh -c # (nop) KARBANTARTÓ Hitesh Jethva 0B
4e2eef94cd6b 8 napja / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Tároló létrehozása LAMP képből

Most futtathat egy tárolót a képéről a következő paranccsal:

docker run -dit lámpa: Dockerfile

A tároló elindítása után a következő kimenetet kell látnia:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

A futó tárolót a következő paranccsal ellenőrizheti:

dokkoló ps

A következő kimenetet kell kapnia:

KONTÉNER ID KÉP PARANCS LÉTREHOZOTT ÁLLAPOT PORTS NEVEK
c14794784eb2 lámpa: Dockerfile "apachectl -D FOREGR…" 2 perccel ezelőtt 2 perccel 0.0.0.0: 8080-> 8080 / tcp quirky_ramanujan

Következtetés

Ebben az útmutatóban megtudhatta, mi a Dockerfile, és hogyan készítsen egy dokkoló képet a Dockerfile segítségével. Ez nagyon hasznos az egyéni képek létrehozásához ahelyett, hogy változtatásokat hajtana végre egy kihúzott képen.

Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...
A legjobb parancssori játékok Linuxhoz
A parancssor nem csak a legnagyobb szövetséges a Linux használatakor, hanem a szórakozás forrása is lehet, mert sok olyan szórakoztató játék lejátszás...
A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...