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

Jednoduchý průvodce protokoly Docker Compose: Jak kontrolovat a spravovat

Ada Lovegoodová By Ada Lovegoodová 9 min čtení Aktualizováno 23. února 2025
protokoly dockeru

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

Docker vám umožňuje zabalit vaše aplikace do malých kontejnerů a spustit je na většině operačních systémů bez jakýchkoli závislostí. Je to jako vkládat své aplikace do malých krabic zvaných kontejnery, které mohou fungovat všude stejným způsobem. Znalost kontejnerů je důležitým předpokladem pro učení se o Docker compose. Takže vám doporučuji, abyste si nejprve přečetli náš blog výhody kontejnerizace.

Docker Compose přichází s Dockerem a zjednodušuje vývoj více kontejnerových aplikací řetězením jejich služeb, sítí a úložiště. Protokoly kontejnerů Docker a protokolování Docker Compose pomáhají vývojářům zjistit, co každý kontejner dělá.

Tak co, jste zvědaví na Docker Compose Logs? Jste na správném místě. Tento blog vysvětlí základy protokolů Docker Compose a pokryje pokročilejší podrobnosti. Naučte se, jak co nejlépe využít Docker Compose pro své projekty.

Význam protokolů Docker Compose

Představte si, že vývojář spustí aplikaci s Dockerem, ale přeskočí nastavení protokolů Docker. Zpočátku se zdá vše v pořádku. Uživatelé však brzy najdou chyby a aplikace se zpomalí. Bez protokolů Dockeru vývojář nevidí, co se uvnitř kontejnerů Docker pokazilo. Protokoly Docker Compose jsou jako podrobný 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 řešení problémů.

Jako vývojář nebo správce systému musíte rozumět tomu, co se děje uvnitř víceřetězcových aplikací a mezi nimi. Zde fungují protokoly Docker Compose jako praktický nástroj. Proč jsou tedy tyto protokoly nutné?

  • Odstraňování problémů a ladění

Zkontrolujte protokoly dockeru, když aplikace neběží správně nebo narazí na chyby. Protokoly Dockeru jsou prvními zdroji, na které se můžete podívat, abyste mohli problém vysledovat. Prozkoumáním protokolů dockeru mohou vývojáři určit hlavní příčinu a zdroj problémů, ať už jde o chybu v kódu, nesprávnou konfiguraci nebo problémy se zdroji.

  • Monitorování stavu aplikace

Pravidelné sledování aplikačních protokolů pomáhá pochopit celkový stav služeb. Protokoly mohou odhalit včasné varovné signály, jako jsou opakované chyby a pomalé reakce. Včasné pozorování těchto vzorců může zabránit potenciálním problémům v budoucnu.

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

U aplikací, které musí dodržovat specifické standardy, jsou protokoly dockeru prvním důkazem, který ukazuje, zda aplikace dodržuje pokyny. Tyto protokoly také hrají zásadní roli při sledování autorizovaných nebo neoprávněných činností.

  • Optimalizace

Protokoly jsou cennými zdroji pro optimalizaci softwaru tím, že poskytují data o výkonu. Vývojáři mohou například identifikovat pomalu běžící dotazy, neefektivní cesty kódu nebo nevyužité zdroje.

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

V této části si společně projdeme vytvořením receptu Docker. Nejprve musíme něco postavit, abychom mohli začít svou cestu s protokoly Docker Compose. Za tímto účelem nasadíme webový server. Chcete-li vytvořit Dockerfile, jednoduše spusťte nano Dockerfile do požadované složky na vašem VPS s následujícím obsahem a poté 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 lehkou základnou, nginx: alpský.
  • Dále vymažeme výchozí uvítací stránku Nginx.
  • Poté se ujistíme, že webový server naslouchá na portu 80.
  • Nakonec spustíme server Nginx s CMD.

Nyní je náš Dockerfile připraven, přejdeme k dalšímu kroku, kterým je 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, abychom úplně porozuměli každé části:

  • Používáme verzi 3.8.
  • Na dalším řádku pojmenujeme naši službu „web“.
  • Poté dáme Dockerovi pokyn, aby vytvořil náš webový server z aktuální složky.
  • Propojujeme port 8080 na našem hostiteli s portem 80 v našem kontejneru, abychom našemu webovému serveru umožnili navázat spojení.
  • Nakonec mapy konfigurace svazků index.html z hostitelského disku do kontejneru. Později můžete vytvořit index.html soubor s libovolným obsahem a umístěte jej na místo Dockerfile a docker-compose.yml soubory existují.

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

spusťte kontejner Docker pomocí Docker Compose

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

Chcete-li zkontrolovat, zda je náš webový server v provozu, otevřete webový prohlížeč, zadejte svou IP adresu VPS a požádejte o přístup k portu 8080.

ukotvenou webovou stránku

Jako vedlejší poznámku můžete použít docker-compose up -d ke spuštění kontejneru na pozadí.

Přístup k protokolům pomocí Docker Compose

Nyní je náš webový server připraven, spuštěn a spuštěn. Již generuje protokoly a ukládá tyto informace pro pozdější použití. Přístup k protokolům sestavování dockeru je nezbytný pro odstraňování problémů a monitorování. Ale jak můžeme číst tyto protokoly? Toto je místo protokoly docker-compose přijde vhod. Ujistěte se, že jste ve složce, kde konfigurace existuje, a spusťte tento příkaz.

Přístup k protokolům pomocí Docker Compose

Někdy možná budete chtít vidět živou verzi protokolů při jejich generování. Jednoduše přidejte -f na konec předchozího příkazu a spusťte docker-compose logs -f.

Přístup k protokolům pomocí Docker Compose

Některé aplikace založené na Dockeru vám nemusí ve svých protokolech poskytovat časová razítka. Proto můžete použít docker-compose logs -t pro přidání zaznamenaného času pro každý řádek protokolu.

Přístup k protokolům pomocí Docker Compose

Protokoly Docker mohou také zobrazit nejnovější záznamy. Chcete-li toho dosáhnout, použijte docker-compose logs – tail 10 pro zobrazení posledních 10 záznamů protokolu. Docker sestavuje konec protokolů a podobně je konec protokolů docker zvláště užitečný, když chcete rychle zkontrolovat nedávnou aktivitu, aniž byste museli procházet celou historii protokolů.

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

Primárním účelem použití Docker Compose je vytvářet vícekontejnerové aplikace. Proto možná budete muset číst konkrétní protokoly pro požadovanou službu. Chcete-li tak učinit, použijte docker-compose logs -f SERVICE, nezapomeňte vyměnit SERVIS s vaším skutečným názvem služby.

přístup k protokolům pomocí dockeru

Docker protokolování

Ekosystém Docker se může stát složitějším pro konvergované aplikace, zejména ve velkých prostředích. Jak již víme, každý kontejner generuje protokoly. Proto je za přijímání, doručování a ukládání protokolů zodpovědný mechanismus známý jako ovladač protokolování. Ve výchozím nastavení používá Docker soubory JSON pro ovladač protokolování, ale podporuje také různé další ovladače, každý se svými klady a zápory.

Všichni souhlasí s tím, že protokoly jsou zásadní v různých oblastech, včetně odstraňování problémů a zvyšování výkonu systému. Níže se budeme zabývat dvěma hlavními aspekty používání protokolů kontejnerů:

  • Sledování: Primárním účelem protokolů je sledování. Obecně odhalují celkový stav našich kontejnerových aplikací.
  • Odstraňování problémů: V případě problémů nám protokoly pomáhají odhalit závady aplikace.

Protože protokoly dockeru a protokoly sestavování dockeru jsou průběžně generovány, mohou zaplnit celé úložiště VPS. Proto potřebujeme strategii pro správu místa na disku, která se nazývá Politika rotace protokolů. Chcete-li vytvořit a používat tuto zásadu, vraťte se na stránku docker-compose.yml soubor a otevřete jej. Poté přidejte oddíl 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 se neustále přizpůsobovat max-velikost a max-soubor podle vašich potřeb.

Docker Logs Delivery Models

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

V závislosti na architektuře vaší aplikace nebo organizačních požadavcích můžete být nuceni používat řešení centrálního protokolování známá jako Agregátory protokolů. Tyto služby, včetně Elasticsearch, Logstash, Kibana atd. jsou navrženy tak, aby přijímaly protokoly z různých zdrojů a konsolidovaly, ukládaly a analyzovaly je na jednom centrálním místě.

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

K dispozici jsou četné modely protokolování, z nichž každý má své výhody a nevýhody. Je nezbytné pečlivě zhodnotit každý model a vybrat jeden na základě vašich konkrétních potřeb.

Linux VPS hosting

Získejte ekonomický nebo prémiový Linux VPS pro hostování vašeho webu nebo vzdálené plochy za nejnižší cenu. VPS běžící na Linux KVM pro vyšší efektivitu a práci na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.

Přečtěte si více

Závěr

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

FAQ

Jak mohu filtrovat protokoly Docker Compose podle času?

Docker Compose nenabízí přímou metodu filtrování protokolů podle času. Protokoly však můžete filtrovat tak, že je propojíte přes grep pro porovnávání vzorů. Můžete například použít: docker-compose logs | grep „2023-04-06“, místo „2023-04-06“ konkrétní datum nebo časový vzor, ​​který hledáte.

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

Přejděte do adresáře, který obsahuje soubor docker-compose.yml a spusťte příkaz docker-compose down.

Jak ručně odstranit soubory protokolu?

Namísto konfigurace rotace protokolů v souboru docker-compose.yml můžete soubory protokolu Docker JSON ručně odebrat z /var/lib/docker/containers/<id_kontejneru>/. Než tak učiníte, měli byste identifikovat ID kontejneru Docker pomocí docker ps -a.

Dokážete sledovat protokoly Docker? 

Ano, můžete. K tomu byste měli použít příkaz docker logs spolu s volbou -f nebo –follow. To vám umožní sledovat protokoly Docker.

Podíl

Více z blogu

Pokračujte ve čtení.

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

Nejčastější chyby zabezpečení Dockeru, kterým je třeba se v roce 2026 vyhnout

Docker můžete provozovat v produkci měsíce bez viditelného problému. Kontejnery se spustí, aplikace reagují, nic se nerozbije. Poté se vytvoří jeden odhalený port nebo jedno nesprávně nakonfigurované oprávnění

Rexa CyrusRexa Cyrus 15 minut čtení
3D zářící struktura modré kostky představující kontejnery Docker spolu s textem „Portainer vs Yacht: Které uživatelské rozhraní Dockeru byste si měli vybrat“ a logem Cloudzy.
Vývojářské nástroje a DevOps

Portainer vs Yacht: Které uživatelské rozhraní Docker byste si měli vybrat v roce 2026?

Správa kontejnerů Docker prostřednictvím rozhraní CLI je efektivní pro jednoduchá nastavení, ale špatně se škáluje. S rostoucím počtem kontejnerů se stavy sledování, protokoly a aktualizace ručně stávají chybou

Rexa CyrusRexa Cyrus 13 minut čtení
Nástroje průběžné integrace
Vývojářské nástroje a DevOps

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

  Oblast vývoje softwaru se vyvíjí rychleji než kdy jindy. A pokud nechcete za tímto rychlým růstem zaostávat, měli byste přijmout metodiky DevOps a Agile

Ada LovegoodováAda Lovegoodová 11 minut čtení

Jste připraveni k nasazení? Od 2,48 $ měsíčně.

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