{{tag>sysadmin software docker journalisation log}} ====== Docker: Journalisation des conteneurs ====== Docker propose plusieurs mécanismes de journalisation désignés **logging drivers**. Un mécanisme de journalisation est actif par défaut et peut être redéfinit explicitement. ===== Journalisation par défaut ===== Pour afficher les paramètres de configuration du logging driver utilisé par défaut par le daemon Docker: docker info --format '{{.LoggingDriver}}' Pour définir des options ou modifier le mécanisme de journalisation par défaut du daemon il faudra modifier le fichier de configuration ''daemon.json'' Ci-dessous un exemple de configuration permettant de limiter le volume de logs via les options ''max-size'' et ''max-file'' { "log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "3"} } ===== Redéfinir le mécanisme de journalisation ===== Pour redéfinir le mécanisme de journalisation d'un conteneur, on peut utiliser les options **%%--log-driver%%** et **%%--log-opt%%** directement sur la ligne de commande lors de la création du conteneur: # Désactive la journalisation docker run -it --log-driver none alpine ash # Journaliser en limitant la volumétrie docker run --log-driver json-file --log-opt max-size=10m --log-opt max-file=3 myapp:version Ci-dessous la syntaxe à utiliser avec docker-compose version: '3.7' services: my-app: image: my-app:latest logging: driver: "json-file" options: max-size: "10m" max-file: "5" ===== Le driver local ===== Le driver "local" permet d'enregistrer les logs dans un format binaire. Il est plus compact et plus rapide que le stockage par défaut "json-file". L'inconvénient du driver local et qu'il ne pourra pas être utilisé avec certains programmes externes de type parsers/forwarders qui ont besoin d'un accès direct au fichier de log au format JSON. ===== Références ===== * https://docs.docker.com/config/containers/logging/configure/ * https://www.shellhacks.com/docker-container-logs-how-to-check/ * https://www.papertrail.com/solution/tips/how-to-live-tail-docker-logs/ * https://jaxenter.com/docker-logging-gotchas-137049.html * https://stackoverflow.com/questions/42510002/docker-how-to-clear-the-logs-properly-for-a-docker-container