⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Pilote de logging fichier local

Table des matières

Le pilote de logging local capture la sortie de stdout/stderr du conteneur et les écrit dans un stockage interne optimisé pour les performances et l'utilisation du disque.

Par défaut, le pilote local préserve 100MB de messages de log par conteneur et utilise la compression automatique pour réduire la taille sur le disque. La valeur par défaut de 100MB est basée sur une taille par défaut de 20M pour chaque fichier et un nombre par défaut de 5 pour le nombre de ces fichiers (pour tenir compte de la rotation des logs).

Warning

Le pilote de logging local utilise un stockage basé sur fichiers. Ces fichiers sont conçus pour être exclusivement accessibles par le daemon Docker. Interagir avec ces fichiers avec des outils externes peut interférer avec le système de logging de Docker et résulter en un comportement inattendu, et devrait être évité.

Utilisation

Pour utiliser le pilote local comme pilote de logging par défaut, définissez les clés log-driver et log-opt aux valeurs appropriées dans le fichier daemon.json, qui se trouve dans /etc/docker/ sur les hôtes Linux ou C:\ProgramData\docker\config\daemon.json sur Windows Server. Pour plus d'informations sur la configuration de Docker en utilisant daemon.json, voir daemon.json.

L'exemple suivant définit le pilote de log à local et définit l'option max-size.

{
  "log-driver": "local",
  "log-opts": {
    "max-size": "10m"
  }
}

Redémarrez Docker pour que les changements prennent effet pour les conteneurs nouvellement créés. Les conteneurs existants n'utilisent pas automatiquement la nouvelle configuration de logging.

Vous pouvez définir le pilote de logging pour un conteneur spécifique en utilisant le drapeau --log-driver avec docker container create ou docker run :

$ docker run \
      --log-driver local --log-opt max-size=10m \
      alpine echo hello world

Notez que local est un mot-clé réservé bash, donc vous pourriez avoir besoin de le mettre entre guillemets dans les scripts.

Options

Le pilote de logging local supporte les options de logging suivantes :

Option Description Valeur d'exemple
max-size La taille maximale du log avant qu'il soit rotaté. Un entier positif plus un modificateur représentant l'unité de mesure (k, m, ou g). Par défaut 20m. --log-opt max-size=10m
max-file Le nombre maximum de fichiers de log qui peuvent être présents. Si la rotation des logs crée des fichiers excédentaires, le fichier le plus ancien est supprimé. Un entier positif. Par défaut 5. --log-opt max-file=3
compress Bascule la compression des fichiers de log rotatés. Activé par défaut. --log-opt compress=false

Exemples

Cet exemple démarre un conteneur alpine qui peut avoir un maximum de 3 fichiers de log ne dépassant pas 10 mégaoctets chacun.

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash