Bevezetés
Általánosságban elmondható, hogy a Docker konténerek csak egy bizonyos ideig futnak – addig, amíg a parancs futtatása tart. A konténeren belül elérhető adatokhoz csak a konténeren belülről lehet hozzáférni a futási idő alatt.
Docker kötetek használhatók a fájlok könnyű elérésére és hosszabb ideig történő tárolására. Például, ha van egy Nginx webszervered, és a naplófájlokat auditálási célból szeretnéd tárolni, használhatsz egy Docker kötetet a konténerből származó naplók tárolására a gazdagépeden.
Ebben az útmutatóban megtanulod, hogyan oszthatsz meg adatokat a Docker konténer belseje és a gazdagép között.
Előfeltételek
Ehhez az útmutatóhoz a következő előfeltételekre lesz szükséged:
- Ubuntu 18.04 szerver: Könnyen létrehozhatsz egy új CloudSigma szervert Ubuntu 18.04 lemezképpel, ha követed a hasznos útmutatónkat.
- Docker – telepítheted a Docker beállításáról szóló Ubuntu útmutatónk segítségével és megismerkedhetsz vele.
1. lépés – Kötet csatolása (Bind Mount)
Létrehozhatsz egy logs nevű könyvtárat a jelenlegi felhasználód saját könyvtárában (home), és hozzácsatolhatod a /var/log/nginx könyvtárhoz az Nginx konténerben a következő paranccsal:
|
1 |
docker run --name=nginx -d -v ~/logs:/var/log/nginx -p 5000:80 nginx |
Íme részletesebb információ erről a parancsról:
--name=nginxnevet ad a konténernek a könnyű hivatkozás érdekében.-dargumentum leválasztja a folyamatot, és a háttérben futtatja.-v hostPath:containerPathleképezi a gazdagép útvonalát és a konténer útvonalát a csatoláshoz.-p hostPort:containerPortargumentum leképezi a konténer portját a gazdagép portjára.nginxa sor végén annak a lemezképnek a neve, amelyet a konténer elindításához kell használni.
2. lépés – Adatok elérése a gazdagépen
Most már fut egy Nginx konténer a szervereden, és a szervered 5000-es portja az Nginx 80-as portjára van leképezve. Megnyithatod a portot a webböngészőben a következő URL-lel:
|
1 |
http://serverIP:5000/ |

A ~/logs könyvtárban látni fogod az access.log és az error.log fájlokat. A naplókat a cat parancs használatával tekintheted meg:
|
1 |
cat access.log |
|
1 2 3 |
Kimenet: xx.xxx.xxx.xxx - - [17/Apr/2021:19:25:05 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xx.xxx.xxx.xxx Safari/537.36" "-" xx.xxx.xxx.xxx - - [17/Apr/2021:19:25:05 +0000] "GET /favicon.ico HTTP/1.1" 404 556 "http://xx.xxx.xxx.xxx:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xx.xxx.xxx.xxx Safari/537.36" "-" |
Ellenőrizheted a naplókönyvtárat is ~/logs a gazdagépeden, és megtalálhatod az Nginx naplófájljait. Sőt, ha bármilyen változtatást eszközölsz a logs mappában, azok a konténer /var/log/nginx mappájában is tükröződni fognak.
Összegzés
Ebben az útmutatóban megtanultad, hogyan oszthatsz meg adatokat a Docker konténer belseje és a gazdagép között. Ez elengedhetetlen a fejlesztői környezetekben, ahol a naplók elemzése kötelező a hibakereséshez.
További Dockerrel kapcsolatos forrásokért a blogunkon, az alábbiakat tekintheted meg:
- Hogyan telepítsük és üzemeltessük a Dockert Ubuntun a nyilvános felhőben
- A Docker telepítése és beállítása CentOS 7 rendszeren
- Docker erőforrások tisztítása – lemezképek, konténerek és kötetek
- Hogyan futtassunk Dockert CloudSigma-n (CloudInit használatával) Frissítve
Kellemes számítástechnikát!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.