Ha hibát, vagy hiányosságot találsz, küldd be ezen a linken ➡
Dockerfile: Egy szöveges "recept", ami leírja, hogyan kell felépíteni a konténerünket (milyen alaprendszerből induljon, milyen csomagokat telepítsen, milyen fájlokat másoljon be, milyen parancsot futtasson indításkor).
Image (Kép): A Dockerfile alapján létrehozott "sablon" vagy "tervrajz". Ez tartalmaz mindent, ami az alkalmazás futtatásához kell. Nem változik. Maga a "becsomagolt" állapot.
Container (Konténer): Az Image-ből elindított, futó példány. Ez már egy élő, futó folyamat, amivel interakcióba lehet lépni. Egy Image-ből több Container-t is indíthatunk.
Docker Hub: Egy online "könyvtár" (registry), ahol rengeteg előre elkészített Image-t találhatunk (pl. web szerverekhez, adatbázisokhoz, programozási nyelvekhez).
sudo apt install docker.io -y
docker pull <image-neve>
docker image ls -a
Minden konténer
docker container ls -a
Csak a futó konténerek
docker ps
docker run --name <konténer neve> -d -p 8080:80 <image neve>
docker run: Parancs egy új konténer indítására.
--name <konténer neve>: Neved adunk a konténernek (könnyebb hivatkozni rá).
-d (detach): A konténer a háttérben fusson, ne foglalja le a terminált.
-p 8080:80 (publish): Port átirányítás. Például a gépünk (host) 8080-as portjára érkező kéréseket irányítsa át a konténeren belül futó webszerver 80-as portjára (ez a HTTP alapértelmezett portja).
<image neve>: Megadjuk, melyik image-ből induljon a konténer.)
docker stop <konténer neve>
Ubuntu-n előfordul, hogy az AppArmor bekever a Dockernek és nem engedi leállítani a konténert. Futtassuk ezt a parancsot:
sudo aa-remove-unknown
docker rm <konténer neve>
docker rmi <image neve>
docker container logs <konténer neve>
Az image Hub oldala: https://hub.docker.com/_/hello-world
Először lépjünk root módba, hogy ne kelljen mindenhova sudo parancsot írni:
sudo su
Image letöltése
docker pull hello-world
Konténer létrehozása és futtatása
docker container run --rm --name hello-vilag1 hello-world
hello-vilag1 néven hoz létre egy konténert a hello-world image-ből. A --rm kapcsoló törli a konténert a leállítás után.
Futó konténer leállítása
docker stop hello-vilag1
Mivel --rm kapcsolóval futtattuk, automatikusan törli a konténerünket.
Az image Hub oldala: https://hub.docker.com/_/httpd
Ne felejtsd el kinyitni a 80-as portot a tűzfalon!
Lépjünk root módba, hogy ne kelljen mindenhova sudo parancsot írni:
sudo su
Image letöltése
docker pull httpd
Konténer létrehozása és futtatása
docker container run -d -p 80:80 --name webszerver httpd
webszerver néven hoz létre egy konténert a httpd image-ből. A -p 80:80 kapcsoló ráirányítja a hoszt 80-as portját a konténer 80-as (HTTP) portjára.
Weboldal elérése a böngészőben
Ha a böngésző https protokollal akarja megnyitni, írd át a címsorban, esetleg tedd hozzá a 80-as portszámot:
Futó konténer leállítása
docker stop webszerver
Konténer törlése
docker rm webszerver
Ez a konténer egy webszervert futtat a 8000-es porton, ami megjeleníti az /app/images mappájába feltöltött képeket.
Kívülről a 81-es porton akarjuk elérni, ehhez port átirányítást is be kell állítani!
A képeket tartalmazó könyvtárunkat be kell csatolni a konténerbe, hogy tudjunk kívülről képeket bevinni.
Az image Hub oldala: https://hub.docker.com/r/raerek/images-web-server
Ne felejtsd el kinyitni a 81-es portot a tűzfalon!
Lépjünk root módba, hogy ne kelljen mindenhova sudo parancsot írni:
sudo su
Image letöltése
docker pull raerek/images-web-server
Konténer létrehozása és futtatása
docker container run -v /home/ubuntu/kontkepek:/app/images --rm -d --name kepek -p 81:8000 raerek/images-web-server
kepek néven hoz létre egy konténert a raerek/images-web-server image-ből. A -p 81:8000 kapcsoló ráirányítja a hoszt 81-es portját a konténer 8000-as portjára, a -v kapcsolóval a hoszt gép /home/ubuntu/kontkepek könyvtárát összeköti a konténer /app/images könyvtárával.
💡 A -v kapcsoló létrehozza a /home/ubuntu/kontkepek mappát, ha még nem létezne!
Belépés a kép mappába
cd kontkepek #ha az ubuntu felhasználó home mappájában állunk.
Képek letöltése a mappába parancssorból (wget)
wget <http://kép.url/kép.jpg>
wget https://gyor-bolyai.cms.intezmeny.edir.hu/uploads/thumbnail_logo2021techn1_ff4147a757.png
Kép átnevezése
mv <régi fájlnév> <új fájlnév>
mv thumbnail_logo2021techn1_ff4147a757.png bolyai.png
Weboldal elérése a böngészőben
Ha a böngésző https protokollal akarja megnyitni, írd át a címsorban a https-t http-re!
Futó konténer leállítása
docker stop kepek
Konténer törlése
docker rm webszerver