CodeGym /Corsi /Docker SELF /Logging dei container

Logging dei container

Docker SELF
Livello 22 , Lezione 0
Disponibile

6.1 Funzioni principali del comando docker logs

I log dei container sono una parte importante della gestione e del monitoraggio delle applicazioni Docker. I log aiutano a tracciare il comportamento dei container, diagnosticare problemi e capire come funzionano le applicazioni all'interno dei container. In questa lezione vedremo nel dettaglio come utilizzare il comando docker logs per gestire i log dei container.

Funzioni principali del comando docker logs

Il comando docker logs serve per estrarre e visualizzare i log dei container. Permette di:

  • Visualizzare l'output standard (stdout) e l'output standard degli errori (stderr) del container.
  • Filtrare e monitorare i log in tempo reale.
  • Cercare e analizzare i log per diagnosticare problemi.

6.2 Utilizzo del comando docker logs

1. Visualizzare i log del container

Per visualizzare i log del container usa il comando:

Terminale

docker logs <container_id_or_name>

Esempio:

Terminale

docker logs my_container 

Questo comando mostrerà tutti i log del container my_container.

2. Monitoraggio dei log in tempo reale

Per monitorare i log in tempo reale usa il flag -f (o --follow):

Terminale

docker logs -f <container_id_or_name>

Esempio:

Terminale

docker logs -f my_container

Questo comando mostrerà i nuovi log man mano che vengono generati.

3. Limitare il numero di righe mostrate

Per limitare il numero di righe mostrate dal comando docker logs, usa il flag --tail:

Terminale

docker logs --tail <number_of_lines> <container_id_or_name>

Esempio:

Terminale

docker logs --tail 10 my_container

Questo comando mostrerà le ultime 10 righe dei log del container my_container.

4. Mostrare i log a partire da un determinato momento

Per mostrare i log a partire da un determinato momento, usa il flag --since:

Terminale

docker logs --since <timestamp> <container_id_or_name>

Esempio:

Terminale

docker logs --since 2022-01-01T00:00:00 my_container

Questo comando mostrerà i log del container my_container a partire dal 1° gennaio 2022.

5. Mostrare i log fino a un determinato momento

Per mostrare i log fino a un determinato momento, usa il flag --until:

Terminale

docker logs --until <timestamp> <container_id_or_name>

Esempio:

Terminale

docker logs --until 2022-01-02T00:00:00 my_container

Questo comando mostrerà i log del container my_container fino al 2 gennaio 2022.

6.3 Esempi di utilizzo di docker logs

Esempio 1: Diagnostica di un errore dell'applicazione

Se la tua applicazione all'interno del container si è chiusa inaspettatamente a causa di un errore, puoi usare docker logs per diagnosticare la causa:

Terminale

docker logs my_app_container 

Visualizzare i log può aiutarti a capire cosa è andato storto e perché l'applicazione si è chiusa con un errore.

Esempio 2: Monitoraggio del servizio

Per monitorare in tempo reale il funzionamento di un web service, usa il flag -f:

Terminale

docker logs -f web_service_container 

Questo comando ti permette di vedere tutti i nuovi log che arrivano al web service.

Esempio 3: Analisi dei log per un determinato periodo

Se devi analizzare i log per un determinato periodo, usa i flag --since e --until:

Terminale

docker logs --since "2023-07-01" --until "2023-07-02" my_app_container 

Questo comando mostrerà i log del container my_app_container per il 1 luglio 2023.

6.4 Configurazione dei driver di log di Docker

Docker supporta diversi driver di log che possono essere configurati per i contenitori. I principali driver di log includono:

  • json-file: Di default. I log vengono salvati in file in formato JSON.
  • syslog: I log vengono inviati al journal di sistema (syslog).
  • journald: I log vengono inviati al sistema journald.
  • gelf: I log vengono inviati ai server che supportano il protocollo GELF (Graylog Extended Log Format).
  • fluentd: I log vengono inviati al server Fluentd.

Installazione del driver di log

Per installare un driver di log, usa il flag --log-driver al momento dell'avvio del contenitore:

Terminale

docker run --log-driver <driver_name> <container_image>

Esempio:

Terminale

docker run --log-driver syslog my_app_image

Questo esempio avvia un contenitore utilizzando il driver di log syslog.

Configurazione dei parametri di log

Puoi specificare i parametri di log utilizzando il flag --log-opt:

Terminale

docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION