Sleva 50% všechny plány, časově omezená nabídka. Od $2.48/mo
9 minut zbývá
Vývojářské nástroje a DevOps

Jednoduchý průvodce logy Docker Compose: Jak je zobrazit a spravovat

Ada Lovegoodová By Ada Lovegoodová 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

Protokolování Docker

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ů: Pokud dojde k problémům, protokoly nám pomáhají detekovat chyby aplikace.

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í protokolů Docker

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.

Hostování Linux VPS

Pořiďte si ekonomický nebo prémiový Linux VPS pro hostování webu nebo vzdálenou plochu, za nejnižší cenu na trhu. VPS běží na Linux KVM pro vyšší výkon a na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.

Číst více

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

Čtěte dál.

Kovový kontejner chráněný zářící neonově azurovou drátovou kopulí, s názvem článku a logem Cloudzy na tmavě modrém pozadí.
Vývojářské nástroje a DevOps

Největší bezpečnostní chyby v Docker, kterým se vyhnout v roce 2026

Docker může v produkci běžet měsíce bez viditelného problému. Kontejnery startují, aplikace odpovídají, nic se nerozbije. Pak jeden otevřený port nebo jedno špatně nastavené oprávnění způsobí

Rexa CyrusRexa Cyrus Čtení na 15 minut
3D struktura zářící modré kostky reprezentující Docker kontejnery, s textem 'Portainer vs Yacht: Which Docker UI Should You Choose' a logem Cloudzy.
Vývojářské nástroje a DevOps

Portainer vs Yacht: které grafické rozhraní pro Docker zvolit v roce 2026?

Správa Docker kontejnerů přes CLI funguje dobře pro jednoduché konfigurace, ale při větším počtu kontejnerů ztrácí na efektivitě. Sledování stavů, logů a aktualizací ručně se stává zdrojem chyb

Rexa CyrusRexa Cyrus Čtení na 13 minut
Nástroje pro průběžnou integraci
Vývojářské nástroje a DevOps

Nejlepší CI/CD nástroje pro optimalizaci DevOps pracovních postupů v roce 2026

 Svět vývoje softwaru se mění rychleji než kdy dřív. Pokud nechcete zaostávat, je čas přijmout metodiky DevOps a Agile

Ada LovegoodováAda Lovegoodová 11 minut čtení

Připraveni nasadit? Od 2,48 $/měsíc.

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