Maison  >  Article  >  Opération et maintenance  >  Comment Docker imprime les journaux

Comment Docker imprime les journaux

PHPz
PHPzoriginal
2023-04-10 14:17:473600parcourir

Lorsque nous utilisons Docker pour gérer nos applications, une exigence courante est de gérer efficacement les journaux des applications. Comment imprimer des journaux dans un conteneur Docker est l'une des compétences que tout utilisateur Docker doit maîtriser. Cet article présentera la gestion des journaux de conteneurs de Docker, notamment comment imprimer les journaux de conteneurs et comment utiliser les outils fournis par Docker pour gérer efficacement les journaux.

1. Introduction aux journaux de conteneur Docker

Les journaux de conteneur Docker (Container Logs) font référence aux enregistrements d'informations générés par les applications exécutées dans les conteneurs Docker. Ces enregistrements incluent l'état d'exécution de l'application, les messages d'erreur, la sortie de débogage, etc. Ces informations de journal sont essentielles au dépannage et à la surveillance de l'intégrité de votre application.

Les journaux du conteneur Docker sont générés via STDOUT et STDERR, capturés et enregistrés par le démon Docker. Docker stocke par défaut les journaux du conteneur dans le répertoire /var/lib/docker/containers de l'hôte.

2. Imprimer les journaux du conteneur Docker

Docker propose plusieurs façons d'afficher les journaux du conteneur. Ce qui suit présente plusieurs méthodes couramment utilisées pour afficher les journaux du conteneur Docker.

  1. commande docker logs

La commande docker logs est le moyen le plus simple et le plus couramment utilisé pour afficher les journaux du conteneur Docker. Avec cette commande, nous pouvons facilement visualiser toutes les informations de journal du conteneur.

Syntaxe :

docker logs [OPTIONS] CONTAINER

Parmi eux, les paramètres OPTIONS incluent :

-a, tous les conteneurs

--détails, afficher des informations supplémentaires sur la sortie du journal

--suivre, suivre la sortie du journal

--depuis, spécifiez l'horodatage pour démarrer la sortie à partir de l'heure spécifiée

--tail, affiche uniquement les N dernières lignes d'informations du journal

--timestamps, affiche l'horodatage

Exemple :

$ docker logs my_container

Cette commande affichera toutes les informations de journal du conteneur my_container.

  1. Afficher les fichiers journaux du conteneur

Vous pouvez obtenir le shell bash du conteneur Docker via la commande bash, puis afficher le fichier journal du conteneur.

Syntaxe :

$ docker exec -it CONTAINER bash
$ cd /var/log
$ ls

La première ligne de commande peut entrer dans le shell bash du conteneur, la deuxième commande entre dans le répertoire où se trouve le fichier journal localisé et la troisième commande répertorie les fichiers journaux.

Par exemple :

$ docker exec -it my_container bash
$ cd /var/log
$ ls

  1. Utiliser le pilote de journal Docker

Le pilote de journal Docker prend en charge l'envoi de journaux de conteneur à des outils de gestion de journaux tiers, tels que pendant que ELK attend. En configurant le pilote de journal Docker, nous pouvons facilement gérer, filtrer et transférer les journaux de nos conteneurs. Voici quelques pilotes de journaux couramment utilisés :

json-file : stocke les journaux de conteneur au format Json dans un fichier local

syslog : envoie les journaux de conteneur au serveur syslog via le protocole syslog

journald : journaux de conteneur via systemd - Le service journald est envoyé au journal Linux et enregistré dans le système de fichiers journaux de l'hôte

Les étapes spécifiques pour utiliser le pilote de journal Docker sont les suivantes :

1. Créez un pilote de journal. Comme suit :

$ docker plugin install --grant-all-permissions dev-logging

2 Démarrez un conteneur et spécifiez le pilote de journal :

$ docker run --name=my_container --log-driver=dev-. logging IMAGE

3. Gestion des journaux Docker

Docker fournit des outils utiles pour gérer les journaux des conteneurs, nous permettant de gérer efficacement les journaux via le filtrage, la recherche, la rotation, etc.

  1. Utilisez la commande docker logs pour filtrer

Utilisez le paramètre --grep de la commande docker logs pour filtrer les journaux de conteneur en fonction des paramètres. Par exemple, la commande suivante affichera toutes les informations d'erreur du fichier all.log dans le conteneur my_container :

$ docker logs my_container | grep ERROR

  1. Utilisez Logrotate pour faire pivoter le journal

Logrotate est une très bonne rotation des journaux. outil. En installant l'outil Logrotate dans un conteneur Docker, vous pouvez facilement faire pivoter les journaux du conteneur.

Installer logrotate :

$ apt-get update && apt-get -y -q install logrotate

  1. Utiliser des outils tiers

Logplex est un outil de gestion de journaux développé par Heroku pour gérer les journaux d'applications et de composants. Cloud logging service. Nous pouvons facilement télécharger les journaux générés par l'application vers Logplex via l'API Logplex, et prendre en charge les requêtes d'affichage et de filtrage des journaux.

À ce stade, vous maîtrisez les compétences de base en matière de gestion des journaux de conteneurs Docker, notamment comment imprimer les journaux et comment utiliser le pilote de journal Docker pour le filtrage, la rotation et d'autres opérations des journaux. J'espère que cet article vous sera utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn