Pilote de logging fichier local
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).
WarningLe 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