Maison Opération et maintenance Docker Docker vérifie où se trouve le fichier journal

Docker vérifie où se trouve le fichier journal

May 13, 2023 pm 02:12 PM

Docker est une plateforme de conteneurisation open source très populaire, qui fournit une solution plus efficace, fiable et sécurisée pour le déploiement et la gestion d'applications. Cependant, lors de l'utilisation de Docker pour le déploiement, l'exploitation et la maintenance, nous devons souvent interroger les fichiers journaux pendant le processus d'exécution du conteneur pour mieux comprendre l'état de fonctionnement du système, le dépannage, le débogage de l'exploitation et de la maintenance, etc. Alors, où sont stockés les fichiers journaux dans Docker ? Cet article vous donnera une introduction détaillée à la méthode Docker d'affichage des fichiers journaux et aux précautions associées.

1. L'emplacement de stockage par défaut des fichiers journaux de Docker

Dans Docker, chaque conteneur générera les fichiers journaux correspondants. Ces fichiers journaux sont stockés par défaut dans le système de fichiers du conteneur. Plus précisément, Docker redirige par défaut la sortie standard (stdout) et l'erreur standard (stderr) du conteneur vers les fichiers de sortie standard et d'erreur standard du conteneur. Ces fichiers journaux se trouvent généralement dans le répertoire suivant :

/var/lib/docker/containers/$CONTAINER_ID/$CONTAINER_ID-json.log

où $CONTAINER_ID représente l'identifiant unique du conteneur.

Pour le stockage des logs Docker, il y a les points importants suivants :

  1. Les fichiers journaux sont stockés par défaut dans le conteneur, pas sur l'hôte En effet, Docker utilise la virtualisation du conteneur par défaut pour exécuter les applications, et le conteneur. est un environnement isolé qui comprend son propre système de fichiers et son propre espace de processus.
  2. Les fichiers journaux sont généralement stockés au format JSON. Ces fichiers incluent l'horodatage de chaque ligne de journal, le niveau de journal, l'ID du conteneur, le contenu du journal et d'autres informations.
  3. Les fichiers journaux ne sont pas automatiquement effacés par défaut, donc si nous ne supprimons pas activement ces fichiers, ils continueront à occuper l'espace disque du conteneur, entraînant une diminution progressive de l'espace disque pendant l'exécution du conteneur.

2. Utilisez Docker CLI pour afficher les fichiers journaux du conteneur

Dans le processus d'utilisation de Docker pour la gestion des conteneurs, nous pouvons utiliser l'outil de ligne de commande Docker CLI pour afficher les fichiers journaux du conteneur. Ci-dessous, nous présenterons plusieurs commandes Docker CLI de base pour implémenter la fonction d'affichage des journaux de conteneur.

  1. docker logs [OPTIONS] CONTAINER

La fonction de cette commande est d'imprimer toutes les informations de journal du conteneur spécifié. Parmi elles, les options OPTIONS peuvent être :

-a, --all : afficher les informations de journal de tous les conteneurs

-t, --timestamps : afficher les horodatages

-f, --follow : par exemple, les journaux de sortie tailf , Autrement dit, actualisez continuellement le journal d'affichage

--tail= : affiche le nombre spécifié de lignes de journaux à partir de la fin du fichier journal, la valeur par défaut est tous les journaux ($ docker logs -tail all)

-- depuis= : affiche les journaux enregistrés après l'heure spécifiée, telle que "2019-01-01", ou horodatage

--until= : affiche les journaux enregistrés avant l'heure spécifiée

L'utilisation spécifique est la suivante :

$ docker logs CONTAINER_ID

Cette commande affichera le conteneur spécifié Toutes les informations du journal, où CONTAINER_ID est l'identifiant unique du conteneur. Si vous souhaitez afficher les N dernières lignes d'informations du journal du conteneur, vous pouvez utiliser la commande suivante :

$ docker logs --tail N CONTAINER_ID

Si nous devons surveiller la sortie du journal en temps réel d'un conteneur à à tout moment, nous pouvons ajouter l'option -f :

$ docker logs -f CONTAINER_ID

  1. docker inspect [OPTIONS] CONTAINER

Cette commande est utilisée pour obtenir des informations détaillées sur le conteneur spécifié, y compris le chemin du fichier journal du conteneur , l'état d'exécution, l'adresse IP, le mappage des ports et d'autres informations connexes. Grâce à cette commande, nous pouvons obtenir le chemin de stockage par défaut du fichier journal du conteneur, comme indiqué ci-dessous :

$ docker inspect --format='{{.LogPath}}' CONTAINER_ID

En plus d'afficher le chemin du fichier journal du conteneur , cette commande Vous pouvez également afficher d'autres informations connexes. L'utilisation spécifique est la suivante :

$ docker inspect CONTAINER_ID

3. Utilisez des outils tiers pour afficher les journaux Docker

En plus de l'outil Docker CLI, vous pouvez également utilisez des outils tiers pour afficher les journaux Docker plus facilement. Nous présentons ici deux outils populaires d'affichage des journaux Docker :

  1. Docker Compose

Docker Compose est un outil d'orchestration de conteneurs officiellement fourni par Docker. Il fournit un fichier configurable docker-compose.yml pour définir les applications multi-conteneurs. mode de fonctionnement. L'utilisation de Docker Compose pour le déploiement facilite le démarrage de plusieurs conteneurs en même temps et la collecte et la gestion des journaux en même temps.

Lors du déploiement d'une application à l'aide de Docker Compose, vous pouvez afficher les journaux du conteneur via la commande docker-compose logs. L'utilisation spécifique est la suivante :

$ docker-compose logs [SERVICES...]

où SERVICES est le nom du service spécifié Par défaut, les journaux de tous les services seront affichés.

  1. ELK Stack

ELK fait référence à la combinaison de trois logiciels open source Elasticsearch + Logstash + Kibana, qui peuvent collaborer pour réaliser la collecte, l'analyse et la visualisation de journaux. Les données de journal dans Docker peuvent être collectées via Logstash, puis les données de journal peuvent être transférées vers Elasticsearch pour indexation et récupération, et enfin les données peuvent être affichées visuellement via l'interface Kibana.

L'utilisation d'ELK Stack pour la collecte et la visualisation des journaux Docker nécessite les étapes suivantes :

(1) Installez Docker

(2) Installez Docker Compose

(3) Téléchargez le fichier image ELK Stack : docker pull sebp/elk

(4) Utilisez le fichier docker-compose.yml pour démarrer le service ELK Stack :

version : '3.7'
services:
elasticsearch:

image: sebp/elk
ports:
  - "9200:9200"
volumes:
  - ./elasticsearch.yml:/etc/elasticsearch/elasticsearch.yml
Copier après la connexion

kibana:

image: sebp/elk
ports:
  - "5601:5601"
links:
  - elasticsearch
Copier après la connexion

logstash:

image: sebp/elk
volumes:
  - ./logstash:/etc/logstash/conf.d
links:
  - elasticsearch
Copier après la connexion

(5) Dans le Fichier de configuration Logstash Spécifiez le chemin du journal Docker :

input {
file {

path => ["/var/lib/docker/containers/*/*.log"]
type => "docker"
codec => "json"
Copier après la connexion

}
}

filter {
if [type] == "docker" {

}
}

output {
elasticsearch {

hosts => "elasticsearch:9200"
manage_template => false
index => "docker-%{+YYYY.MM.dd}"
Copier après la connexion

}
}

(6) Redémarrez le service Logstash, puis recherchez et affichez les fichiers journaux Docker via l'interface Kibana.

En résumé, cet article détaille la méthode d'affichage des fichiers journaux dans Docker, y compris les commandes Docker CLI, les outils tiers tels que Docker Compose et ELK Stack. Avec l'aide de ces outils, nous pouvons plus facilement surveiller et déboguer les informations de journal du conteneur Docker pour garantir le fonctionnement normal de l'application.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment déployer des applications à un cluster Swarm Docker? Comment déployer des applications à un cluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

L'article détaille les applications de déploiement de Docker Swarm, couvrant la préparation, les étapes de déploiement et les mesures de sécurité pendant le processus.

Que sont les gods, les déploiements et les services de Kubernetes? Que sont les gods, les déploiements et les services de Kubernetes? Mar 17, 2025 pm 04:25 PM

L'article explique les pods, déploiements et services de Kubernetes, détaillant leurs rôles dans la gestion des applications conteneurisées. Il explique comment ces composants améliorent l'évolutivité, la stabilité et la communication dans les applications. (159 caractères)

Comment faire évoluer les applications à Kubernetes? Comment faire évoluer les applications à Kubernetes? Mar 17, 2025 pm 04:28 PM

L'article traite des applications de mise à l'échelle dans Kubernetes à l'aide de l'échelle manuelle, HPA, VPA et Autoscaler en cluster, et fournit les meilleures pratiques et outils pour surveiller et automatiser l'échelle.

Comment gérer les services dans Docker Swarm? Comment gérer les services dans Docker Swarm? Mar 17, 2025 pm 04:22 PM

L'article discute de la gestion des services dans Docker Swarm, en se concentrant sur la création, la mise à l'échelle, la surveillance et la mise à jour sans temps d'arrêt.

Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Mar 17, 2025 pm 04:23 PM

L'article examine la mise en œuvre des mises à jour de roulement dans Docker Swarm pour mettre à jour les services sans temps d'arrêt. Il couvre les services de mise à jour, la définition des paramètres de mise à jour, la surveillance des progrès et la garantie de mises à jour en douceur.

Comment gérer les déploiements à Kubernetes? Comment gérer les déploiements à Kubernetes? Mar 17, 2025 pm 04:27 PM

L'article examine la gestion des déploiements de Kubernetes, en se concentrant sur la création, les mises à jour, la mise à l'échelle, la surveillance et l'automatisation à l'aide de divers outils et meilleures pratiques.

Comment créer un cluster Swarm Docker? Comment créer un cluster Swarm Docker? Mar 17, 2025 pm 04:19 PM

L'article discute de la création et de la gestion des grappes d'essaims Docker, y compris la configuration, les services de mise à l'échelle et les meilleures pratiques de sécurité.

Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Apr 06, 2025 am 12:01 AM

Docker est une compétence incontournable pour les ingénieurs DevOps. 1.Docker est une plate-forme conteneurisée open source qui atteint l'isolement et la portabilité par les applications d'emballage et leurs dépendances dans les conteneurs. 2. Docker fonctionne avec les espaces de noms, les groupes de contrôle et les systèmes de fichiers fédérés. 3. L'utilisation de base comprend la création, l'exécution et la gestion des conteneurs. 4. L'utilisation avancée comprend l'utilisation de dockercosive pour gérer les applications multi-container. 5. Les erreurs courantes incluent une défaillance des conteneurs, des problèmes de cartographie des ports et des problèmes de persistance des données. Les compétences de débogage incluent la visualisation des journaux, la saisie des conteneurs et la visualisation d'informations détaillées. 6. L'optimisation des performances et les meilleures pratiques incluent l'optimisation de l'image, les contraintes de ressources, l'optimisation du réseau et les meilleures pratiques pour l'utilisation de dockerfile.

See all articles