Sobes.tech
Junior

Kā skatīt žurnālus darbojošā konteinerī?

sobes.tech AI

Atbilde no AI

# Skatīt visus konteineru žurnālus
docker logs <container_id_or_name>

# Skatīt pēdējos 100 žurnāla rindiņas
docker logs --tail 100 <container_id_or_name>

# Skatīt žurnālus no konteineru darbības sākuma
docker logs --follow <container_id_or_name>

# Skatīt žurnālus no norādīta laika
docker logs --since 2023-10-27T10:00:00Z <container_id_or_name>

# Skatīt žurnālus noteiktā laika periodā
docker logs --since 2023-10-27T10:00:00Z --until 2023-10-27T11:00:00Z <container_id_or_name>

# Saglabāt žurnālus failā
docker logs <container_id_or_name> > container_logs.txt

Žurnālu reģistrēšana konteineros balstās uz standarta izvades (stdout) un kļūdu (stderr) plūsmu novirzīšanu konteinerā. Docker apkopo šos plūsmas un nodrošina piekļuvi tiem ar komandu docker logs.

Alternatīvas pieejas:

  1. Docker žurnālu vadītāju izmantošana: Docker demona konfigurācija žurnālu nosūtīšanai uz centralizētām žurnālu sistēmām (piem., ELK Stack, Splunk, CloudWatch Logs) ar dažādu logging drivers. Tas ir ieteicams ražošanas vidēs.

  2. Toma kartēšana: Toma montēšana no galvenās sistēmas konteinerā, kurā programma raksta žurnālus.

    # docker-compose.yml piemērs
    services:
      my_app:
        image: my_app_image
        volumes:
          - /var/log/myapp:/app/logs # Toma kartēšana
    

    Pēc tam žurnāli ir pieejami galvenajā mašīnā norādītajā ceļā.

  3. Žurnālu aģentu uzstādīšana: Žurnālu aģentu (piem., Filebeat, Fluentd) uzstādīšana konteinerā vai sidecar konteinerā, kas apkopo žurnālus un nosūta tos uz centralizētu sistēmu.