Sobes.tech
Junior

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:

  1. 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.

  2. 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 kaardistamine
    

    Pärast seda on logid saadaval host-masinal määratud teel.

  3. Logiagentide paigaldamine: Logiagentide (nt Filebeat, Fluentd) paigaldamine konteinerisse või sidecar-konteinerisse, mis kogub logisid ja saadab need tsentraliseeritud süsteemi.