Hoe bekijk je de logs in een draaiende container?
sobes.tech AI
Antwoord van AI
# Bekijk alle logs van de container
docker logs <container_id_or_name>
# Bekijk de laatste 100 regels logs
docker logs --tail 100 <container_id_or_name>
# Bekijk de logs vanaf het begin van de container
docker logs --follow <container_id_or_name>
# Bekijk logs vanaf een specifiek tijdstip
# Tijdformaat: RFC3339 (YYYY-MM-DDTHH:MM:SSZ)
docker logs --since 2023-10-27T10:00:00Z <container_id_or_name>
# Bekijk logs over een bepaalde periode
docker logs --since 2023-10-27T10:00:00Z --until 2023-10-27T11:00:00Z <container_id_or_name>
# Sla logs op in een bestand
docker logs <container_id_or_name> > container_logs.txt
Logging in containers is gebaseerd op het omleiden van de standaard uitvoer (stdout) en foutstromen (stderr) van de applicatie binnen de container. Docker verzamelt deze stromen en maakt ze toegankelijk via het commando docker logs.
Alternatieve benaderingen:
-
Gebruik van Docker logging-drivers: Configuratie van de Docker-daemon om logs te sturen naar gecentraliseerde logsystemen (bijvoorbeeld ELK Stack, Splunk, CloudWatch Logs) met behulp van verschillende logging-drivers. Dit is de voorkeursmethode voor productieomgevingen.
-
Volume-mapping: Een volume van het host-systeem naar de container koppelen, waar de applicatie logs schrijft.
# voorbeeld docker-compose.yml services: my_app: image: my_app_image volumes: - /var/log/myapp:/app/logs # Volume-mappingDaarna zijn de logs beschikbaar op de host-machine op de gespecificeerde locatie.
-
Installatie van logging-agenten: Deploy een logging-agent (bijvoorbeeld, Filebeat, Fluentd) in de container of als sidecar, die logs verzamelt en naar een gecentraliseerd systeem stuurt.