How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox
Tartalomjegyzék:
- Docker futtatás parancs
- Futtassa a konténert az előtérben
- Futtassa a konténert leválasztott módban
- Távolítsa el a konténert kilépés után
- Állítsa be a tartály nevét
- Konténer portok kiadása
- Adatok megosztása (beépítési mennyiségek)
- Futtassa a konténert interaktív módon
- Következtetés
A Docker egy olyan platform, amely lehetővé teszi az alkalmazások fejlesztését, tesztelését és telepítését hordozható, önellátó tárolókként, amelyek gyakorlatilag bárhol futhatnak.
A
docker run
parancs létrehoz egy tárolót egy adott képből, és egy parancs használatával elindítja a tárolót. Ez az egyik első parancs, amelyet meg kell ismernie, amikor elkezdi dolgozni a Dockerrel., a hivatalos Nginx képet fogjuk használni a Docker tároló futtatásának különféle módjaira.
Docker futtatás parancs
A
docker run
parancs a következő formában
docker run
:
docker run IMAGE
A kép neve, amelyből a tárolót létre kell hozni, az egyetlen szükséges argumentum a
docker run
parancsához. Ha a kép nincs a helyi rendszeren, akkor kihúzza a rendszerleíró adatbázisból.
Ha nem ad meg parancsot, akkor a tároló futtatásakor a
ENTRYPOINT
CMD
vagy
ENTRYPOINT
utasításaiban megadott parancs végrehajtásra kerül.
Az 1.13-as verziótól kezdve a Docker CLI-t átszervezték, és az összes parancs az objektum alá lett csoportosítva, amellyel kölcsönhatásba lépnek.
Mivel a
run
parancs kölcsönhatásba lép a konténerekkel, ez most a
docker container
alparancsai. Az új parancs szintaxisa a következő:
docker container run IMAGE
A régi, 1.13 előtti szintaxist továbbra is támogatják. A motorháztető alatt a
docker run
parancs egy álnév a
docker container run
. A felhasználókat arra ösztönzik, hogy használják az új parancs szintaxist.
Az összes
docker container run
listája megtalálható a Docker dokumentációs oldalon.
Futtassa a konténert az előtérben
Alapértelmezés szerint, ha nincs megadva opció a
docker run
parancsához, a gyökér folyamat az előtérben
docker run
el. Ez azt jelenti, hogy a szokásos bemenet, kimenet és a gyökér folyamat hibája kapcsolódnak a terminál munkamenethez.
docker container run nginx
Az nginx folyamat kimenete megjelenik a terminálon. Mivel nincs kapcsolat a webszerverrel, a terminál üres.
A tároló leállításához fejezze be a futó Nginx folyamatot a
CTRL+C
megnyomásával.
Futtassa a konténert leválasztott módban
Annak érdekében, hogy a tároló működjön, amikor kilép a terminál munkamenetéről, indítsa el különálló módban. Ez hasonló a Linux folyamat futtatásához a háttérben.
Használja a
-d
beállítást a leválasztott tároló elindításához:
docker container run -d nginx
050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
A leválasztott tároló leáll, ha a gyökér folyamat leáll.
A futó tárolókat a
docker container ls
paranccsal listázhatja.
A terminál csatlakoztatásához a leválasztott tároló gyökérfolyamatához használja a
docker container attach
parancsot.
Távolítsa el a konténert kilépés után
Alapértelmezés szerint, amikor a tároló kilép, a fájlrendszere továbbra is fennmarad a gazdagépen.
A
--rm
beállítások
--rm
docker run
parancsot arra, hogy távolítsa el a tárolót, amikor automatikusan kilép:
docker container run --rm nginx
Lehet, hogy az Nginx kép nem a legjobb példa a tároló fájlrendszerének a tároló kilépése után történő tisztítására. Ezt az opciót általában olyan előtér-tárolókon használják, amelyek rövid távú feladatokat hajtanak végre, például teszteket vagy adatbázis-biztonsági mentéseket.
Állítsa be a tartály nevét
A Docker programban minden tárolót
UUID
és neve
UUID
. Alapértelmezés szerint, ha nincs kifejezetten beállítva, a tároló nevét automatikusan a Docker démon generálja.
A
--name
opcióval rendelhet egyedi nevet a tárolóhoz:
docker container run -d --name my_nginx nginx
A tároló nevének egyedinek kell lennie. Ha megpróbál elindítani egy másik azonos nevű tárolót, akkor hasonló hibaüzenetet kap:
docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.
Futtassa az
docker container ls -a
az összes tároló felsorolásához és a nevük megtekintéséhez:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx
Az értelmes nevek hasznosak a tároló hivatkozásához a Docker hálózaton belül vagy a docker CLI parancsok futtatásakor.
Konténer portok kiadása
Alapértelmezés szerint, ha nem jelentenek meg portokat, a tárolóban futó folyamat csak a tároló belsejéből érhető el.
A portok közzététele azt jelenti, hogy a tároló portjait leképezik a gazdagép portjaival, hogy a portok elérhetőek legyenek a Docker-en kívüli szolgáltatások számára is.
Egy port közzétételéhez használja a
-p
beállításokat az alábbiak szerint:
-p host_ip:host_port:container_port/protocol
- Ha nincs megadva host_ip, akkor az alapértelmezés szerint
0.0.0.0
. Ha nem ad megprotocol
, akkor alapértelmezés szerint TCP. Több port közzétételéhez használjon multiple--p
opciókat.
A tárolóban lévő TCP 80 (nginx) port és a host localhost felület 8080 portjának leképezéséhez futtassa:
docker container run --name web_server -d -p 8080:80 nginx
A port közzétételének ellenőrzéséhez nyissa meg a böngészőjében a
http://localhost:8080
, vagy futtassa a következő
curl
parancsot a Docker gazdagépen:
curl -I
A kimenet így néz ki:
HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes
Adatok megosztása (beépítési mennyiségek)
Egy tároló leállításakor a tároló által generált összes adat eltávolításra kerül. A dokkoló kötetek az előnyben részesített módszer az adatok megőrzésére és több tárolóra történő megosztására.
Kötetek létrehozásához és kezeléséhez használja a
-p
beállításokat az alábbiak szerint:
-v host_src:container_dest:options
- A
host_src
abszolút elérési út lehet a gazdagépen lévő fájlhoz vagy könyvtárhoz, vagy egy elnevezett köteten keresztül. Ahost_src
egy abszolút útvonal a fájlban vagy könyvtárban a tárolón.A opciók lehetnekrw
(read-write) ésro
(read-only)). Ha nincs megadva opció, akkor alapértelmezés szerintrw
.
Hogy elmagyarázzuk, hogyan működik, hozzunk létre egy könyvtárat a gazdagépen, és tegyünk bele egy
index.html
fájlt:
mkdir public_html
echo "Testing Docker Volumes" > public_html/index.html
Ezután csatolja a
public_html
könyvtárat a
/usr/share/nginx/html
a tárolóban:
docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
A
public_html
könyvtár abszolút elérési útjának megadása helyett a
$(pwd)
parancsot használjuk, amely kinyomtatja az aktuális működő könyvtárat.
Ha beírja a böngészőjébe a
http://localhost:8080
, akkor látnia kell az
index.html
fájl tartalmát. Használhatja a
curl
:
curl
Futtassa a konténert interaktív módon
Amikor olyan interaktív folyamatokkal foglalkozik, mint a
bash
, a
-i
és
-t
opciókkal indítsa el a tárolót.
Az
-it
opciók azt mondják Dockernek, hogy tartsa a szabványos bemenetet a terminálhoz csatlakoztatva, és kiossza az ál-tty-ot:
docker container run -it nginx /bin/bash
A tároló Bash-héját csatolják a terminálhoz, és a parancssor megváltozik:
root@1da70f1937f5:/#
Most már kapcsolatba léphet a tároló héjával, és futtathat bármilyen parancsot a benne.
Ebben a példában egy parancsot (
/bin/bash
) adtunk argumentumként a
docker run
parancshoz, amelyet a Docker fájlban megadott helyett hajtottak végre.
Következtetés
A Docker az alkalmazások csomagolására és telepítésére szolgáló szabvány, valamint a CI / CD, az automatizálás és a DevOps alapvető alkotóeleme.
A Docker-tároló
docker container run
parancsot használják a Docker-tárolók létrehozásához és futtatásához.
Echo parancs linuxban példákkal
Az echo parancs a Linux egyik legalapvetőbb és leggyakrabban használt parancsa. A visszhanghoz átadott argumentumok a standard kimenetre kerülnek.
Curl parancs a linuxban példákkal
A Curl parancssori segédprogram az adatok továbbítására egy kiszolgálóra vagy egy olyan kiszolgálóra, amely felhasználói beavatkozás nélkül működik. Ebben az oktatóanyagban megmutatjuk, hogyan kell használni a göndör eszközt gyakorlati példák és a leggyakoribb göndör beállítások részletes magyarázata révén.
Linux kivágási parancs példákkal
A kivágás egy parancssori segédprogram, amely lehetővé teszi a sorok egyes részeinek kivágását a megadott fájlokból vagy a vezetékes adatokból, és az eredményt a szabványos kimenetre nyomtathatja. Ebben az oktatóanyagban megmutatjuk, hogyan kell használni a Linux vágási parancsot a leggyakoribb vágási lehetőségek gyakorlati példáin és részletes magyarázatain keresztül.