Kuidas vaadata logis töötavas konteineris?
sobes.tech AI
Vastus AI-lt
# Vaadake kõiki konteineri logisid
docker logs <container_id_or_name>
# Vaadake viimased 100 rida logisid
docker logs --tail 100 <container_id_or_name>
# Vaadake logisid konteineri käivitamisest alates
docker logs --follow <container_id_or_name>
# Vaadake logisid määratud ajast alates
docker logs --since 2023-10-27T10:00:00Z <container_id_or_name>
# Vaadake logisid kindla ajavahemiku jooksul
docker logs --since 2023-10-27T10:00:00Z --until 2023-10-27T11:00:00Z <container_id_or_name>
# Salvestage logid faili
docker logs <container_id_or_name> > container_logs.txt
Logide salvestamine konteinerites põhineb standardväljastus (stdout) ja vigade (stderr) voogude suunamisel konteinerisse. Docker kogub need vood ja võimaldab neile ligi docker logs käsu kaudu.
Alternatiivsed lähenemised:
-
Docker logimissõidukite kasutamine: Docker demoni konfiguratsioon logide saatmiseks tsentraliseeritud süsteemidesse (nt ELK Stack, Splunk, CloudWatch Logs) kasutades erinevaid logging drivers. See on eelistatud meetod tootmiskeskkondades.
-
Konteineri mahu kaardistamine: Mahu ühendamine host-süsteemist konteinerisse, kuhu rakendus logisid kirjutab.
# docker-compose.yml näide services: my_app: image: my_app_image volumes: - /var/log/myapp:/app/logs # mahu kaardistaminePärast seda on logid saadaval host-masinal määratud teel.
-
Logiagentide paigaldamine: Logiagentide (nt Filebeat, Fluentd) paigaldamine konteinerisse või sidecar-konteinerisse, mis kogub logisid ja saadab need tsentraliseeritud süsteemi.