Sobes.tech
Junior

Hogyan lehet megtekinteni a naplókat egy működő konténerben?

sobes.tech MI

Válasz az MI-től

# Az összes konténer naplójának megtekintése
docker logs <container_id_or_name>

# Az utolsó 100 sor napló megtekintése
docker logs --tail 100 <container_id_or_name>

# A konténer indításától kezdve a naplók megtekintése
docker logs --follow <container_id_or_name>

# Naplók megtekintése egy adott időponttól
# Időformátum: RFC3339 (YYYY-MM-DDTHH:MM:SSZ)
docker logs --since 2023-10-27T10:00:00Z <container_id_or_name>

# Naplók megtekintése egy adott időszakban
docker logs --since 2023-10-27T10:00:00Z --until 2023-10-27T11:00:00Z <container_id_or_name>

# Naplók mentése fájlba
docker logs <container_id_or_name> > container_logs.txt

A konténerek naplózása az alkalmazás standard kimenetének (stdout) és hibáinak (stderr) átirányításán alapul a konténeren belül. A Docker összegyűjti ezeket a csatornákat, és a docker logs parancson keresztül elérhetővé teszi őket.

Alternatív megközelítések:

  1. Docker naplózási meghajtók használata: A Docker démon konfigurálása úgy, hogy a naplókat központosított naplózási rendszerekbe küldje (pl. ELK Stack, Splunk, CloudWatch Logs) különböző naplózási meghajtók segítségével. Ez a módszer a legjobb a termelési környezetekben.

  2. Térfogat leképezése: Egy térfogat csatolása a gazdagépről a konténerbe, ahol az alkalmazás írja a naplókat.

    # docker-compose.yml példa
    services:
      my_app:
        image: my_app_image
        volumes:
          - /var/log/myapp:/app/logs # Térfogat leképezés
    

    Ezután a naplók elérhetők a gazdagépen a megadott útvonalon.

  3. Naplógyűjtő agentek telepítése: Egy naplógyűjtő agent (pl. Filebeat, Fluentd) telepítése a konténerben vagy sidecar-ként, amely összegyűjti a naplókat, és elküldi őket egy központosított rendszerbe.