CodeGym /Corsi /Docker SELF /Lavorare con i log dei container

Lavorare con i log dei container

Docker SELF
Livello 11 , Lezione 3
Disponibile

4.1 Fondamenti del comando docker logs

Il comando docker logs — uno strumento super comodo per monitorare e fare debugging dei container. Con questo comando, sviluppatori e sysadmin possono controllare i log dei container, aiutandoli a diagnosticare problemi e analizzare come funzionano le loro applicazioni. Durante questa lezione daremo un'occhiata dettagliata su come usare il comando docker logs, quali opzioni sono disponibili e come gestire i log in modo efficace.

Il comando docker logs mostra i log di un container specificato. Questi log includono tutti i messaggi registrati dai processi all'interno del container sugli stream di output standard (stdout) e di errori (stderr).

Sintassi


docker logs [OPTIONS] CONTAINER

Dove:

  • CONTAINER: il nome o l'identificatore del container di cui vuoi vedere i log.
  • OPTIONS: opzioni aggiuntive per configurare l'output dei log.

Esempio di utilizzo base

Questo comando mostra tutti i log accumulati del container my_container.

Terminale


docker logs my_container

4.2 Parametri del comando docker logs

Il comando docker logs supporta diverse opzioni che ti permettono di configurare l'output dei log in base alle esigenze specifiche.

1. Visualizzazione dei log in tempo reale

Per visualizzare i log in tempo reale, usa il parametro -f (follow). Questo parametro ti permette di monitorare gli aggiornamenti dei log man mano che compaiono, simile al comando tail -f.

Terminal


docker logs -f my_container 

2. Limitare il numero di righe visualizzate

Puoi limitare il numero di righe visualizzate dal comando docker logs usando il parametro --tail. È utile se ti servono solo le righe finali dei log, anziché l'intero registro.

Terminal


docker logs --tail 100 my_container 

Questo esempio visualizzerà solo le ultime 100 righe dei log del container my_container.

3. Visualizzazione dei log da un certo momento

Il parametro --since consente di visualizzare i log a partire da un momento specificato. Il momento può essere definito in formato timestamp (ad esempio, 2023-07-20T15:00:00) o in formato relativo (ad esempio, 1h per i log dell'ultima ora).

Terminal


docker logs --since "2023-07-20T15:00:00" my_container 

Oppure

Terminal


docker logs --since 1h my_container 

4. Visualizzazione dei log fino a un certo momento

Il parametro --until consente di visualizzare i log fino a un momento specificato. Il formato del momento è uguale a quello del parametro --since.

Terminal


docker logs --until "2023-07-20T16:00:00" my_container 

Oppure

Terminal


docker logs --until 10m my_container 

5. Combinazione di stdout e stderr

Di default, il comando docker logs visualizza sia lo standard output (stdout) che lo standard error (stderr). Puoi specificare quali flussi visualizzare usando i parametri --stdout e --stderr.

Terminal


docker logs --stdout my_container 

Questo esempio visualizzerà solo i messaggi dallo standard output.

4.3 Esempi di utilizzo

Esempio 1: visualizzare le ultime righe dei log e monitorare gli aggiornamenti

Questo esempio mostrerà le ultime 50 righe dei log del container my_container e seguirà i nuovi aggiornamenti in tempo reale.

Terminal


docker logs -f --tail 50 my_container 

Esempio 2: mostrare i log delle ultime 24 ore

Questo esempio mostrerà tutti i log accumulati nelle ultime 24 ore per il container my_container.

Terminal


docker logs --since 24h my_container 

Esempio 3: mostrare i log per un determinato intervallo di tempo

Questo esempio mostrerà i log registrati tra le 15:00 e le 16:00 del 20 luglio 2023 per il container my_container.

Terminal


docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container 

4.4 Scenari pratici

1. Debug dell'applicazione

Se la tua applicazione non funziona correttamente o si “blocca”, controllare i log può aiutarti a diagnosticare il problema. Usa il comando docker logs per trovare errori e avvisi nei log.

Terminale


docker logs my_app_container 

2. Monitoraggio del server

Per monitorare in tempo reale il lavoro del server puoi usare il comando docker logs con l'opzione -f.

Terminale


docker logs -f web_server_container 

Questo permette di tenere traccia delle richieste e delle risposte del server in tempo reale.

3. Analisi delle prestazioni

Se vuoi analizzare le prestazioni dell'applicazione per un certo periodo di tempo, usa i parametri --since e --until.

Terminale

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION