Sleva 50% všechny plány, omezený čas. Od $2.48/mo
Zbývá 9 min
Vývojářské nástroje a DevOps

Snadný návod k Docker Compose logům: Jak je kontrolovat a spravovat

Ada Lovegood By Ada Lovegood 9 min čtení Aktualizováno 23. února 2025
docker logs

Chcete vědět, co dělají aplikace Docker v zákulisí? Pojďme se podívat na tajné okno, známé jako protokoly, do vašich kontejnerů, které ukazují každý jejich pohyb. Protokoly jsou velmi užitečné pro řešení problémů. Ale než začneme, podívejme se rychle na to, co jsou Docker a Docker Compose.

Docker umožňuje zabalit aplikace do malých kontejnerů a spouštět je na většině operačních systémů bez jakýchkoli závislostí. Je to jako vložit aplikace do malých krabic zvanych Containers, které se spouští stejně všude. Porozumění kontejnerům je důležitým předpokladem pro učení se o Docker Compose. Doporučuji vám nejprve přečíst náš blog o výhodách kontejnerizace.

Docker Compose je součástí Docker a zjednodušuje vývoj více kontejnerizovaných aplikací propojením jejich služeb, sítí a úložišť. Protokoly Docker kontejneru a Docker Compose logging pomáhají vývojářům vidět, co každý kontejner dělá.

Zajímají vás protokoly Docker Compose? Jste na správném místě. Tento blog vysvětlí základy protokolů Docker Compose a pokryje pokročilejší detaily. Naučte se, jak vytěžit maximum z Docker Compose pro své projekty.

Důležitost protokolů Docker Compose

Představte si vývojáře, který spustí aplikaci s Docker, ale přeskočí nastavení protokolů Docker. Zpočátku se zdá, že všechno funguje. Brzy ale uživatelé narazí na chyby a aplikace se zpomaluje. Bez protokolů Docker nemůže vývojář vidět, co se pokazilo uvnitř kontejnerů Docker. Protokoly Docker Compose jsou jako detailní záznam těchto kontejnerů. Zaznamenávají každý detail toho, co se děje, což je důležité pro pozdější nalezení a opravení problémů.

Jako vývojář nebo správce systému musíte pochopit, co se děje uvnitř a mezi složitými aplikacemi. Právě zde jsou protokoly Docker Compose užitečným nástrojem. Proč jsou tedy tyto protokoly potřebné?

  • Řešení problémů a ladění

Kontrolujte protokoly dockeru, když aplikace neběží správně nebo se setkává s chybami. Protokoly Docker jsou prvním zdrojem, na který se můžete podívat, abyste vysledovali problém. Prozkoumáním protokolů dockeru mohou vývojáři určit hlavní příčinu a zdroj problémů, ať jde o chybu v kódu, chybnou konfiguraci nebo problémy s prostředky.

  • Monitorování stavu aplikace

Pravidelné monitorování protokolů aplikací pomáhá pochopit celkový stav služeb. Protokoly mohou odhalit rané varovné signály, jako jsou opakované chyby a pomalé odezvy. Brzké pozorování těchto vzorů může předcházet budoucím problémům.

  • Audit a dodržování předpisů

U aplikací, které musí dodržovat určité standardy, jsou protokoly dockeru prvním důkazem toho, zda aplikace respektuje pokyny. Tyto protokoly také hrají podstatnou roli při monitorování autorizovaných nebo neoprávněných činností.

  • Optimalizace

Protokoly jsou cenným zdrojem pro optimalizaci software poskytováním dat o výkonu. Vývojáři mohou například identifikovat pomalé dotazy, neefektivní cesty kódu nebo nevyužité prostředky.

Vytvoření receptu Docker: Nasazení webového serveru

V této sekci si společně vytvoříme recept Docker. Nejprve musíme něco vytvořit, abychom mohli začít naši cestu s protokoly Docker Compose. Nasaďme pro tento účel webový server. Chcete-li vytvořit Dockerfilel, jednoduše spusťte nano Dockerfile v požadované složce na VPS s následujícím obsahem a pak jej uložte:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Co tedy dělá každý řádek tohoto kódu?

  • Začínáme s odlehčeným základem. nginx:alpine.
  • Dále vymažeme výchozí úvodní stránku Nginx.
  • Pak se ujistíme, že webový server naslouchá na portu 80.
  • Nakonec spustíme server Nginx pomocí CMD.

Náš soubor Docker je připraven. Přejdeme na další krok - vytvoření souboru Docker Compose. Zde je struktura docker-compose.yml soubor:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Pojďme si to rozebrat a porozumět jednotlivým částem:

  • Používáme verzi 3.8.
  • Na dalším řádku pojmenujeme naši službu ""web“.
  • Pak instruujeme Docker, aby sestavil náš webový server z aktuální složky.
  • Mapujeme port 8080 na hostiteli na port 80 v kontejneru, aby se náš webový server mohl připojit.
  • Nakonec konfiguraci svazků mapuje index.html z disku hostitele do kontejneru. Později můžete vytvořit index.html soubor s libovolným obsahem a umístit jej tam, kde se nachází Dockerfile a docker-compose.yml soubory existují.

Nyní je čas spustit náš kontejner Docker pomocí Docker Compose. Jednoduše spustíme docker-compose up.

spustit kontejner Docker pomocí Docker Compose

Jakmile spustíte docker-compose up příkaz, Docker stáhne požadované image z internetu a nakonfiguruje je podle pokynů v našich konfiguračních souborech.

Chcete-li zkontrolovat, zda je náš webový server spuštěn a funguje, otevřete webový prohlížeč, zadejte IP adresu svého hostitele VPS a požádejte o přístup na port 8080.

dockerizovaná webová stránka

Mimochodem, můžete použít docker-compose up -d ke spuštění kontejneru na pozadí.

Přístup k protokolům s Docker Compose

Náš webový server je nyní připraven, spuštěn a funguje. Již generuje protokoly a ukládá tyto informace pro pozdější použití. Přístup k protokolům docker compose je nezbytný pro diagnostiku a monitorování. Ale jak si tyto protokoly přečíst? To je přesně to, na co je docker-compose protokoly určen. Ujistěte se, že jste ve složce, kde se konfigurace nachází, a spusťte tento příkaz.

Přístup k protokolům s Docker Compose

Někdy budete chtít vidět živou verzi protokolů, jak se generují. Jednoduše přidejte -f na konec předchozího příkazu a spusťte docker-compose logs -f.

Přístup k protokolům s Docker Compose

Některé aplikace založené na Docker vám v protokolech nemusí poskytovat časová razítka. Proto můžete použít docker-compose logs -t chcete-li přidat zaznamenaný čas pro každý řádek protokolu.

Přístup k protokolům s Docker Compose

Protokoly Docker mohou zobrazit také nejnovější položky. Chcete-li to provést, použijte docker-compose logs –tail 10 pro zobrazení posledních 10 položek protokolu. Docker kombinuje protokoly s omezením počtu řádků a podobně je docker logs tail zvláště užitečné, když chcete rychle zkontrolovat nedávnou aktivitu bez procházení celé historie protokolu.

přístup k protokolům pomocí docker compose

Primárním účelem Docker Compose je vytváření vícekontejnerových aplikací. Proto budete možná muset číst protokoly konkrétní služby. Použijte k tomu docker-compose logs -f SERVICEI'd be happy to help translate to Czech, but the text you provided appears incomplete: ", remembering to replace" Could you please provide the full English text you'd like me to translate? Once you share the complete phrase or sentence, I'll translate it to Czech following the rules you've outlined. SERVICE a nahraďte SERVICE názvem vaší služby.

přístup k protokolům pomocí docker

Docker logování

Ekosystém Docker se může stát složitějším pro konvergované aplikace, zvláště v rozsáhlých prostředích. Jak již víme, každý kontejner generuje protokoly. Mechanismus zvaný Logging Driver tedy odpovídá za příjem, doručování a ukládání protokolů. Ve výchozím nastavení Docker používá JSON soubory pro Logging Driver, ale podporuje také různé další ovladače, každý s jeho výhodami a nevýhodami.

Všichni se shodují, že protokoly jsou rozhodující v různých oblastech, včetně řešení problémů a zlepšování výkonu systému. Níže se budeme zabývat dvěma hlavními aspekty používání protokolů kontejnerů:

  • Monitorování: Primárním účelem protokolů je monitorování. Obvykle odhalují celkový stav našich kontejnerizovaných aplikací.
  • Řešení problémů: V případě problémů nám logy pomáhají detekovat aplikační závady.

Protože se docker logs a docker compose logs nepřetržitě generují, mohou zaplnit veškeré úložiště VPS. Proto potřebujeme strategii pro správu místa na disku zvanou Log Rotation Policy. Chcete-li tuto zásadu vytvořit a použít, vraťte se do docker-compose.yml souboru a otevřete jej. Poté přidejte část protokolování s konfigurací níže:

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"

Můžete neustále upravovat max-size a max-file podle vašich potřeb.

Modely doručování Docker logů

Inženýři se mohou v pokročilejších prostředích rozhodnout pro jiný model protokolování než výchozí JSON ovladače, jako jsou Syslog, fluentd a další. Je však důležité si pamatovat, že JSON-file ovladač je vhodný pro většinu scénářů protokolování a nemusí být nutné odchylovat se od výchozího režimu.

V závislosti na architektuře vaší aplikace nebo požadavcích organizace možná budete nuceni využívat centrální řešení protokolování známá jako Log Aggregators. Tyto služby, včetně Elasticsearch, Logstash, Kibana atd., jsou určeny k příjmu protokolů z různých zdrojů a jejich konsolidaci, ukládání a analýze na jednom centrálním místě.

Naopak byste měli ukládat své protokoly pomocí nákladově efektivnějších řešení úložiště. Zvažte scénář, kdy VPS používá vysokorychlostní a drahé úložiště; nemusí být ekonomické využívat takové prémiové prostředky pro ukládání protokolů, které byste mohli potřebovat pouze pro budoucí reference.

Dostupných je mnoho modelů protokolování, každý s výhodami a nevýhodami. Je nezbytné pečlivě vyhodnotit každý model a vybrat si jej na základě vašich konkrétních potřeb.

Linux VPS hosting

Pořiď si economy nebo premium Linux VPS pro hosting tvého webu nebo vzdálenou plochu, za nejnižší cenu na trhu. VPS běží na Linux KVM pro vyšší efektivitu a na výkonném hardwaru s NVMe SSD úložištěm pro vyšší rychlost.

Číst dál

Závěr

Porozumění protokolům Docker Compose je klíčové. Pomáhají efektivně spravovat a ladit vaše aplikace Docker. Naučení se přistupovat k těmto protokolům a je monitorovat zlepšuje řešení problémů a zvyšuje výkon a bezpečnost vaší aplikace. Ať již vyvíjíte nebo spravujete systémy, používání protokolů Docker Compose je nezbytné. Zajišťují efektivní správu kontejnerů.

Často kladené otázky

Jak mohu filtrovat protokoly Docker Compose podle času?

Docker Compose nenabízí přímou metodu pro filtrování protokolů podle času. Protokoly však můžete filtrovat jejich průchodem přes grep pro porovnávání vzorů. Například můžete použít: docker-compose logs | grep "2023-04-06" a nahradit "2023-04-06" konkrétním datem nebo vzorem času, který hledáte.

Jak zastavit kontejnery spuštěné s Docker Compose?

Přejděte do adresáře obsahujícího soubor docker-compose.yml a spusťte příkaz docker-compose down.

Jak ručně smazat soubory protokolů?

Místo konfigurování rotace protokolů v souboru docker-compose.yml můžete ručně odstranit soubory protokolu Docker JSON z /var/lib/docker/containers/<container_id>/. Předtím byste měli zjistit ID kontejneru Docker pomocí docker ps -a.

Mohu sledovat protokoly Docker v reálném čase?

Ano, můžete. Použijte příkaz docker logs s volbou -f nebo --follow. Zobrazí vám se logs Docker v reálném čase.

Sdílet

Další z blogu

Pokračuj ve čtení.

Kovový kontejner chráněný svítící neonově azurovou drátěnou kupolí, s titulkem článku a logem Cloudzy na sytě modrém pozadí.
Vývojářské nástroje a DevOps

Nejhorší bezpečnostní chyby v Dockeru, kterým se v roce 2026 vyhnout

Docker můžeš v produkci provozovat měsíce bez viditelného problému. Kontejnery startují, aplikace reagují, nic se nerozbije. A pak jeden vystavený port nebo jedno špatně nastavené oprávnění vytvoří

Rexa CyrusRexa Cyrus 15 min čtení
3D svítící modrá krychlová struktura představující Docker kontejnery, vedle textu 'Portainer vs Yacht: které Docker UI si vybrat' a loga Cloudzy.
Vývojářské nástroje a DevOps

Portainer vs Yacht: které Docker UI si v roce 2026 vybrat?

Správa Docker kontejnerů přes CLI funguje pro jednoduché setupy, ale špatně roste. Jak počet kontejnerů přibývá, ruční sledování stavů, logů a aktualizací se stává chybové

Rexa CyrusRexa Cyrus 13 min čtení
Nástroje pro continuous integration
Vývojářské nástroje a DevOps

Nejlepší CI/CD nástroje pro optimalizaci tvých DevOps workflow v roce 2026

&nbsp; Krajina vývoje softwaru se vyvíjí rychleji než kdy dřív. Pokud nechceš zaostat za tímto rychlým růstem, měl bys přijmout DevOps metodiky a Agile

Ada LovegoodAda Lovegood 11 min čtení

Hotov k nasazení? Od 2,48 $/měs.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dnů.