Szeretnéd tudni, mit csinál az Docker alkalmazások a háttérben? Ismerkedjünk meg közelebbről az úgynevezett naplókkal, amelyek az olyan titkos ablak, amely az összes tárolódat mutatja. A naplók hihetetlenül hasznosak a problémák megoldásához. Mielőtt azonban kezdenénk, egy gyors pillantást vetünk az Docker és az Docker Compose rendszerre.
Az Docker lehetővé teszi az alkalmazások csomagolását kis tárolókba, és a legtöbb operációs rendszeren futtatásukat függőségek nélkül. Olyan, mintha az alkalmazásokat kis dobozokba helyeznéd, úgynevezett tárolókba, amelyek mindenhol ugyanúgy futnak. A tárolók megértése fontos előfeltétel az Docker Compose ismeretéhez. Ezért javasoljuk, hogy először olvassa el a blogunk cikkét: a containerizáció előnyei.
A Docker Compose tartalmaz Docker-t és leegyszerűsíti több tárolóból összeépített alkalmazás fejlesztését azáltal, hogy összeköti azok szolgáltatásait, hálózatait és tárolóit. A Docker tároló naplói és a Docker Compose naplózása segít a fejlesztőknek látni, mit csinál az egyes tároló.
Kíváncsi vagy a Docker Compose naplóira? Jó helyen vagy. Ez a cikk a Docker Compose naplók alapjait magyarázza meg, és előrehaladottabb részleteket is tartalmaz. Megtudod, hogyan használhatod maximálisan a Docker Compose-t a projektjeidben.
Az Docker Compose naplók fontossága
Képzelj el egy fejlesztőt, aki elindít egy alkalmazást Docker-vel, de kihagyja a Docker naplók beállítását. Kezdetben minden rendben van. De hamar hibákat találnak a felhasználók, és az alkalmazás lelassul. Docker naplók nélkül a fejlesztő nem látja, mi ment félre a Docker tárolóban. A Docker Compose naplók ezeknek a tárolóknak a részletes dokumentációja. Feljegyzik az összes olyan információt, ami történik, ami nélkülözhetetlen a problémák utólagos felkutatásához és megoldásához.
Fejlesztőként vagy rendszeradminisztrátorként tudnod kell, mi történik belül és között az összekapcsolt alkalmazásoknak. Itt jön be a képbe a Docker Compose naplók, mint praktikus eszköz. Akkor miért szükségesek ezek a naplók?
-
Hibaelhárítás és hibakeresés
Ellenőrizd a docker naplókat, ha az alkalmazás nem működik helyesen vagy hibákat talál. A Docker naplók az első forrás, amelyből nyomozni tudsz a probléma után. A docker naplók vizsgálatával a fejlesztők pontosan azonosíthatják a probléma gyökerét és forrását, legyen az egy hiba a kódban, félre konfigurált beállítás, vagy erőforrás probléma.
-
Az alkalmazások állapotának figyelése
Az alkalmazás naplóinak rendszeres figyelése segít megérteni a szolgáltatások általános állapotát. A naplók korai figyelmeztető jeleket tárhatnak fel, mint ismétlődő hibák és lassú válaszok. Ezen jelek korai megfigyelése megelőzheti a jövőbeli lehetséges problémákat.
-
Audit és megfelelőség
Az olyan alkalmazások esetén, amelyeknek megfelelniük kell bizonyos szabványoknak, a docker naplók az első bizonyíték arra, hogy az alkalmazás betartja-e az irányelveket. Ezek a naplók lényeges szerepet játszanak az engedélyezett vagy jogosulatlan tevékenységek figyelésében.
-
Optimalizálás
A naplók értékes forrásai a szoftverfejlesztésnek, mert teljesítményadatokat szolgáltatnak. Például a fejlesztők azonosíthatnak lassan futó lekérdezéseket, hatékony kódútvonalakat, vagy kihasználatlan erőforrásokat.
Docker recept készítése: webszerver telepítése
Ebben a szakaszban egy Docker receptet fogunk együtt létrehozni. Először szükség van valami felépítésére, hogy elkezdődjünk a Docker Compose naplók útjára. Ehhez telepítsünk egy webszervert. Egy Dockerfile létrehozásához futtasd le ezt: nano Dockerfile a kívánt mappában a VPS-on az alábbi tartalommal, majd mentsd el:
FROM nginx:alpine RUN rm /usr/share/nginx/html/index.html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
Szóval, mit csinál ennek a kódnak az egyes sora?
- Egy könnyű alappal kezdünk, nginx:alpine.
- Ezután eltávolítjuk az Nginx alapértelmezett üdvözlőoldalát.
- Majd gondoskodunk arról, hogy a webszerver az alábbi porton hallgat 80.
- Végül az Nginx szervert az alábbival futtatjuk CMD.
Most a Dockerfile elkészült, áttérünk a következő lépésre: a Docker Compose fájl létrehozása. Itt van a szerkezete: docker-compose.yml fájl:
version: '3.8' services: web: build: . ports: - "8080:80" volumes: - ./index.html:/usr/share/nginx/html/index.html
Bontsuk le, hogy teljesen megértsük az egyes részeket:
- Verzióját használjuk 3.8.
- A következő sorban elnevezzük a szolgáltatásunkat:web“.
- Ezután utasítjuk a Docker-t, hogy építse fel a webszerverünket az aktuális mappaból.
- A host 8080-as portját összekapcsoljuk a tároló 80-as portjával, hogy a webszerver kapcsolatot tudjon létesíteni.
- Végül a volumes konfiguráció mapol index.html a host lemezéről a tárolóba. később olyan fájlt hozhatsz létre, mint: index.html tetszőleges tartalommal, és helyezheted oda: Dockerfile és docker-compose.yml fájlok léteznek.
Most itt az ideje, hogy futtassuk a Docker tárolót a Docker Compose-zal. Egyszerűen csak ezt futtatjuk docker-compose up.

Miután elindítod a docker-compose up command, Docker letölti az internettől a szükséges rendszerképeket, és konfigurálja azokat a konfigurációs fájljainkban megadott utasítások szerint.
Annak ellenőrzéséhez, hogy a webszerver működik-e, nyisson meg egy böngészőt, írja be az VPS IP-címét, és nyissa meg a 8080-as portot.

Mellesleg megjegyezzük, hogy használhatod docker-compose up -d a tároló háttérben való futtatásához.
Naplók elérése az Docker Compose segítségével
Most pedig már fut a webszerverünk, és működik. Folyamatosan naplóbejegyzéseket hoz létre és tárola el ezeket később történő felhasználásra. A Docker Compose naplóihoz való hozzáférés nélkülözhetetlen a hibakereséshez és a monitorozáshoz. De hogyan tudjuk ezeket a naplókat olvasni? Erre docker-compose naplók jól jön. Győződj meg róla, hogy a konfigurációs fájlt tartalmazó mappában vagy, majd futtasd le az utasítást.

Ha szeretnéd a naplófájlokat valós időben látni, ahogy generálódnak, egyszerűen add hozzá a -f paramétert az előző parancs végéhez, és futtasd le docker-compose logs -f.

Egyes Docker-alapú alkalmazások nem tartalmaznak időbélyegeket a naplóikban. Ilyenkor használhatod docker-compose logs -t hogy mindegyik naplósorhoz hozzáadjon egy rögzített időbélyeget.

Docker A naplók megjelenítheti a legfrissebb bejegyzéseket. Ehhez használja a docker-compose logs --tail 10 az utolsó 10 napló bejegyzés megtekintéséhez. Az Docker a naplók tail funkcióját összeállítja, és hasonlóan a docker logs tail is különösen hasznos, ha gyorsan szeretné ellenőrizni a közelmúltbeli tevékenységet anélkül, hogy a teljes napló előzményeken végig kellene görgetnie.

Az Docker Compose elsődleges célja többcontaineres alkalmazások létrehozása. Ezért szükséges lehet egy adott szolgáltatás naplóit megtekinteni. Ehhez használd: docker-compose logs -f SERVICEI appreciate the instruction, but the text you've provided to translate appears to be incomplete: ", remembering to replace" Could you please provide the full English text you'd like me to translate to Hungarian? SERVICE a tényleges szolgáltatás nevével.

Docker Naplózás
Az Docker ökoszisztéma egyre bonyolultabbá válhat az összefogyott alkalmazások esetén, különösen nagyobb környezetben. Mint tudjuk, minden konténer naplókat generál. Ezért az úgynevezett Logging Driver felelős a naplók fogadásáért, szállításáért és tárolásáért. Az Docker alapértelmezetten JSON fájlokat használ a Logging Driver-hez, de különféle egyéb driver-eket is támogat, mindegyiknek megvannak az előnyei és hátrányai.
A naplók fontosságát mindenki elismeri – kritikusak a hibaelhárítástól a rendszerteljesítmény javításáig. Az alábbiakban a tárolólogs használatának két fő aspektusát járjuk körül:
- Megfigyelés: A naplók elsődleges célja a monitorozás. Általában megmutatják a tárolóalapú alkalmazásaink általános állapotát.
- Hibaelhárítás: Problémák esetén a naplók segítségével észlelhetjük az alkalmazások hibáit.
Mivel a docker logs és docker compose logs folyamatosan keletkeznek, kitölthetik az VPS tárhelyet. Ezért szükség van egy naplókezelési stratégiára, amelyet Naplórotációs Szabályzatnak nevezünk. A szabályzat létrehozásához és használatához térjen vissza az docker-compose.yml fájlhoz, és nyissa meg azt. Ezután adjon hozzá egy logging szakaszt az alábbi konfigurációval:
version: '3.8' services: web: build: . ports: - "8080:80" volumes: - ./index.htm:/usr/share/nginx/html/index.htm logging: driver: json-file options: max-size: "200k" max-file: "10"
Folyamatosan módosíthat max-size és max-file az igényei szerint.
Docker naplók szállítási modelljei
A fejlesztők haladóbb környezetekben eltérő naplózási modellt választhatnak az alapértelmezett JSON illesztőprogramoknál, például a Syslog, fluentd és mások. Azonban fontos megjegyezni, hogy az JSON fájl illesztőprogramja alkalmas a legtöbb naplózási forgatókönyvhöz, és lehetséges, hogy nem szükséges eltérni az alapértelmezett módtól.
Az alkalmazás architektúrájától vagy szervezeti követelményektől függően szükséges lehet központi naplózási megoldások, az ún. Naplóösszesítők használata. Ezek a szolgáltatások, például Elasticsearch, Logstash, Kibana stb., úgy vannak kialakítva, hogy naplókat fogadjanak különféle forrásokból, és konszolidáljanak, tárolhassanak és elemezzzenek azokat egy központi helyen.
Ezzel szemben a naplókat költséghatékonyabb tárolási megoldások segítségével kell tárolnia. Vegyünk egy olyan forgatókönyvet, ahol az VPS nagy sebességű és drága tárolót használ; előfordulhat, hogy nem gazdaságos ilyen prémium erőforrásokat olyan naplók tárolására felhasználni, amelyekre csak később lehet szükség.
Számos naplózási modell elérhető, mindegyiknek megvannak az előnyei és hátrányai. Alapvető, hogy gondosan értékelje az egyes modelleket, és az Ön specifikus igényei alapján válasszon egyet.
Szerezz egy economy vagy premium Linux VPS weboldal vagy remote desktop hosztingolásához, a piacon a legolcsóbban. VPS Linux KVM-en futtatva a nagyobb hatékonyság érdekében, és erőteljes hardveren működve NVMe SSD tárolóval a nagyobb sebesség érdekében.
TovábbiakKövetkeztetés
Az Docker Compose naplóinak megértése kulcsfontosságú. Segítségükkel jól kezelheti és debugolhatja az Docker alkalmazásokat. A naplók elérésének és monitorozásának megtanulása javítja a problémamegoldást, és fokozza az alkalmazás teljesítményét és biztonságát. Függetlenül attól, hogy fejlesztést végez vagy rendszert kezel, az Docker Compose naplóinak használata elengedhetetlen. Biztosítják, hogy a tárolókezelés hatékony legyen.
Gyakran Ismételt Kérdések
Hogyan szűrhetem az Docker Compose naplókat idő alapján?
Az Docker Compose nem kínál közvetlen módszert a naplók idő szerinti szűrésére. Azonban szűrheti a naplókat úgy, hogy átpörgeti őket a grep-en keresztül a mintázatkereséshez. Például használhatja az alábbi parancsot: docker-compose logs | grep "2023-04-06", ahol a "2023-04-06" helyére a kívánt dátum vagy időmintát helyettesítse.
Hogyan állíthatom le az Docker Compose segítségével indított tárolókat?
Navigáljon a docker-compose.yml fájlt tartalmazó könyvtárba, és futtassa a docker-compose down parancsot.
Hogyan távolíthatom el manuálisan a naplófájlokat?
A naplórotáció konfigurálása helyett a docker-compose.yml fájlban manuálisan eltávolíthatja az Docker JSON naplófájlokat a /var/lib/docker/containers/<container_id>/ mappából. Ezt megelőzően azonosítsa az Docker tároló azonosítóját a docker ps -a paranccsal.
Tud nyomni az Docker naplókat?
Igen, megteheti. Ehhez az docker logs parancsot kell használnia a -f vagy –follow opcióval. Ez lezárja az Docker naplókat az Ön számára.