6.1 Fonctions principales de la commande docker logs
La journalisation des conteneurs, c'est une partie importante de la gestion et du monitoring des applications Docker. Les logs permettent de suivre le comportement des conteneurs, diagnostiquer des problèmes et comprendre comment fonctionnent les applications à l'intérieur des conteneurs. Dans cette leçon, on va examiner en détail comment utiliser la commande docker logs
pour journaliser les conteneurs.
Fonctions principales de la commande docker logs
La commande docker logs
est utilisée pour extraire et visualiser les logs des conteneurs. Elle permet de :
- Visualiser la sortie standard (stdout) et la sortie d'erreur standard (stderr) d'un conteneur.
- Filtrer et suivre les logs en temps réel.
- Rechercher et analyser les logs pour diagnostiquer des problèmes.
6.2 Utilisation de la commande docker logs
1. Afficher les logs d'un conteneur
Pour afficher les logs d'un conteneur, utilise la commande :
docker logs <container_id_or_name>
Exemple :
docker logs my_container
Cette commande va afficher tous les logs du conteneur my_container
.
2. Suivre les logs en temps réel
Pour suivre les logs en temps réel, utilise le flag -f
(ou --follow
) :
docker logs -f <container_id_or_name>
Exemple :
docker logs -f my_container
Cette commande va afficher les nouveaux logs au fur et à mesure qu'ils apparaissent.
3. Limiter le nombre de lignes affichées
Pour limiter le nombre de lignes affichées avec la commande docker logs
, utilise le flag --tail
:
docker logs --tail <number_of_lines> <container_id_or_name>
Exemple :
docker logs --tail 10 my_container
Cette commande va afficher les 10 dernières lignes des logs du conteneur my_container
.
4. Affichage des logs à partir d'une heure spécifique
Pour afficher les logs à partir d'une heure spécifique, utilise le flag --since
:
docker logs --since <timestamp> <container_id_or_name>
Exemple :
docker logs --since 2022-01-01T00:00:00 my_container
Cette commande va afficher les logs du conteneur my_container
à partir du 1er janvier 2022.
5. Affichage des logs jusqu'à une heure spécifique
Pour afficher les logs jusqu'à une heure spécifique, utilise le flag --until
:
docker logs --until <timestamp> <container_id_or_name>
Exemple :
docker logs --until 2022-01-02T00:00:00 my_container
Cette commande va afficher les logs du conteneur my_container
jusqu'au 2 janvier 2022.
6.3 Exemples d'utilisation de docker logs
Exemple 1 : Diagnostic d'une erreur d'application
Si ton application dans un conteneur s'est terminée de manière inattendue avec une erreur, tu peux utiliser docker logs
pour diagnostiquer la raison :
docker logs my_app_container
Regarder les logs peut t'aider à comprendre ce qui n'a pas marché et pourquoi l'application s'est terminée avec une erreur.
Exemple 2 : Suivi du fonctionnement d'un service
Pour suivre le fonctionnement d'un service web en temps réel, utilise l'option -f
:
docker logs -f web_service_container
Cette commande te permet de voir tous les nouveaux logs qui arrivent sur le service web.
Exemple 3 : Analyse des logs pour une période donnée
Si tu as besoin d'analyser les logs pour une période spécifique, utilise les options --since
et --until
:
docker logs --since "2023-07-01" --until "2023-07-02" my_app_container
Cette commande affichera les logs du conteneur my_app_container
pour le 1er juillet 2023.
6.4 Configuration des drivers de journalisation Docker
Docker supporte différents drivers de journalisation que tu peux configurer pour les conteneurs. Les principaux drivers de journalisation incluent :
-
json-file
: Par défaut. Les logs sont sauvegardés dans des fichiers au format JSON. syslog
: Les logs sont envoyés au journal système (syslog).journald
: Les logs sont envoyés au système journald.-
gelf
: Les logs sont envoyés aux serveurs qui supportent le protocole GELF (Graylog Extended Log Format). fluentd
: Les logs sont envoyés au serveur Fluentd.
Installation du driver de journalisation
Pour installer un driver de journalisation, utilise le flag --log-driver
lors du lancement d'un conteneur :
docker run --log-driver <driver_name> <container_image>
Exemple :
docker run --log-driver syslog my_app_image
Cet exemple lance un conteneur en utilisant le driver de journalisation syslog.
Configuration des paramètres de journalisation
Tu peux spécifier les paramètres de journalisation en utilisant le flag --log-opt
:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION