Docker kép lértehozás
Ebben a cikkben megmutatom, hogyan hozhatsz létre egyszerűen Docker konténer képeket.
Az előző cikkben megmutattuk a Docker telepítését Linuxon, Windowson és macOS-es. Most ismerkedjünk meg a Docker képek készítésének alapjaival. A DockerHubon rengeteg előre elkészített kép található, amit felhasználhatsz, de itt közzé is teheted a sajátodat.
Előre elkészített képeket fogunk használni egy alap Linuxos alrendszerhez, így elég sok munkát megspórolunk majd és nem kell az alapoktól felépíteni. Alapként használhatsz Alpine (ez a Docker hivatalos disztrója), Ubuntu, BusyBox vagy bármilyen más Linuxot. Én Ubuntut fogok használni.
Mielőtt elkezdenénk a saját képeink létrehozását, "konténerezzük" őket! Itt most arra gondolok, hogy csináljunk könyvtárakat a Docker képeinknek, így egymástól elkülönítve kezelhetjük őket.
cd dockerprojects
Most hozz létre egy Dockerfile nevű fájlt a dockerprojects könyvtárban a kedvenc szövegszerkesztőddel. Én a nanot szeretem, de sokan vi-ra esküsznek.
Csak ezt a sort írd bele:
Mentsd el és lépj ki: Ctrl+0, I (vagy Y nyelvtől függően), Ctrl+X (de ez látszik is alul)
Most már létre tudod hozni a képet és nevet is adhatsz neki. Futtasd ezt a parancsot az előbbi könyvtárban:
Figyelj a parancs végén szereplő pontra, az jelzi az aktuális könyvtárat. Ha minden oké, akkor valami ilyesmit kell látnod:
Step 1/1 : FROM ubuntu
---> 2a4cca5ac898
Successfully built 2a4cca5ac898
Successfully tagged dockp:latest
Futtasd!
Most a Dockerben futó Ubuntu root promptját látod:
Ezt azt jelenti, hogy tulajdonképpen a egy minimális Ubuntut futtatsz egy Linuxon, Windowson vagy macOS-en belül. Így használhatod az Ubuntu parancsait és eszközeit.
]
Az exit paranccsal tudsz kilépni.
Lássuk, milyen Docker képek vannak a gépünkön:
Kapunk egy szép listát:
dockp latest 2a4cca5ac898 1 hour ago 111MB
ubuntu latest 2a4cca5ac898 1 hour ago 111MB
hello-world latest f2a91732366c 8 weeks ago 1.85kB
Három képet látsz most a listán: dockp, ubuntu, és hello-world, ez pár hete csináltam, amikor a sorozat korábbi cikkein dolgoztam.
Most hozzunk létre egy LAMP szerver képet egy Dockerfile segítségével!
A Dockerfile alapvetően instrukciókat tartalmaz a szükséges csomagok telepítéséhez, beállításokhoz és a másolandó fájlokhoz. Ebben az esetben ez az Apache lesz.
A továbbiakhoz szükséged lesz egy DockerHub fiókra, ahova a képek létrehozása előtt be kell jelentkezned. A ha már van fiókod a parancssorból így jelenthetsz be:
Add meg a DockerHub felhasználóneved és jelszavad. Ha minden igaz, akkor ezt az üzenetet fogod majd látni:
Most akkor csináljunk egy könyvtárat az Apache-nak és lépjünk is bele:
cd apache
Hozzuk létre a Dockerfilet az Apache könyvtárában:
És írjuk be a következő sorokat:
MAINTAINER Falu.Me version: 0.1
RUN apt-get update && apt-get install -y apache2 && apt-get clean && rm -rf /var/lib/apt/lists/*
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
EXPOSE 80
CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
Mentsd el, lépj ki, majd készítsd el a képet:
Egy darabig eltart mire elkészül, végül valami ilyesmit kell látnod:
Successfully tagged apache:latest
Futtassuk a szerverünket:
fa263ba0576a74c9a89600b162aefcbaabf4ae5fe201a3fdf5ce876036a32418
Hurrá! A konténer képed már fut is. Ellenőrizzük a futó konténereket:
CONTAINER ID IMAGE COMMAND CREATED
fa263ba0576 apache "/usr/sbin/apache2ctl" 10 seconds ago
A konténert a következő parancs segítségével tudod kilőni:
Ezzel a módszerrel annyi konténert hozhatsz létre vagy futtathatsz, amennyit csak szeretnél.
Legközelebb feltöltjük a konténer képeket a DockerHubra.
forrás: linux.com