Kako pregledati logove u aktivnom kontejneru?
sobes.tech АИ
Одговор од АИ
# Prikaz svih logova kontejnera
docker logs <container_id_or_name>
# Prikaz poslednjih 100 redova logova
docker logs --tail 100 <container_id_or_name>
# Prikaz logova od pokretanja kontejnera
docker logs --follow <container_id_or_name>
# Prikaz logova od određenog vremena
# Format vremena: RFC3339 (YYYY-MM-DDTHH:MM:SSZ)
docker logs --since 2023-10-27T10:00:00Z <container_id_or_name>
# Prikaz logova u određenom vremenskom periodu
docker logs --since 2023-10-27T10:00:00Z --until 2023-10-27T11:00:00Z <container_id_or_name>
# Čuvanje logova u fajl
docker logs <container_id_or_name> > container_logs.txt
Logovanje u kontejnerima se zasniva na preusmeravanju standardnih tokova izlaza (stdout) i grešaka (stderr) aplikacije unutar kontejnera. Docker prikuplja ove tokove i omogućava pristup putem komande docker logs.
Alternativni pristupi:
-
Korišćenje Docker-ovih upravljača za logovanje: Konfiguracija demona Docker da šalje logove u centralizovane sisteme za logovanje (npr. ELK Stack, Splunk, CloudWatch Logs) pomoću različitih upravljača za logovanje. Ovo je preferirani metod za produkcione okoline.
-
Mapiranje volumena: Montiranje volumena sa host sistema u kontejner, gde aplikacija zapisuje logove.
# primer docker-compose.yml services: my_app: image: my_app_image volumes: - /var/log/myapp:/app/logs # Mapiranje volumenaNakon toga, logovi su dostupni na host mašini na specificiranoj putanji.
-
Instalacija agenata za logovanje: Deployovanje agenta za logovanje (npr. Filebeat, Fluentd) u kontejner ili kao sidecar, koji prikuplja logove i šalje ih u centralizovani sistem.