169 votes

Comment effacer les journaux correctement pour un conteneur Docker?

J'utilise docker logs [container-name] pour voir les journaux d'un conteneur spécifique.

Y at-il un moyen élégant pour effacer ces journaux?

207voto

BMitch Points 3744

À partir de cette question, il y a une ligne unique que vous pouvez exécuter:

echo "" > $(docker inspect --format='{{.LogPath}}' <container_name_or_id>)

Je ne suis pas un grand fan de la modification de menu fixe directement aux fichiers. Vous pouvez avoir Docker pivoter automatiquement les journaux pour vous. Cela se fait avec des indicateurs supplémentaires à dockerd si vous utilisez la valeur par défaut JSON journalisation pilote:

dockerd ... --log-opt max-size=10m --log-opt max-file=3

Vous pouvez également définir cela comme une partie de votre démon.json fichier au lieu de modifier vos scripts de démarrage:

{
  "log-driver": "json-file",
  "log-opts": {"max-size": "10m", "max-file": "3"}
}

Assurez-vous d'exécuter un systemctl reload docker après la modification de ce fichier pour avoir les réglages appliqués. Ce paramètre sera alors la valeur par défaut pour tout nouvellement créé conteneurs. Les conteneurs existants doivent être supprimés et recréés pour recevoir les nouvelles limites de journal.

192voto

duketwo Points 1107

Utilisation:

 truncate -s 0 /var/lib/docker/containers/*/*-json.log
 

Référence: Tronquer un fichier pendant son utilisation (Linux)

36voto

richard Points 79
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"

27voto

AlexPnt Points 334

Vous pouvez configurer logrotate pour effacer les journaux périodiquement.

Exemple de fichier dans /etc/logrotate.d/docker-logs

 /var/lib/docker/containers/*/*.log {
 rotate 7
 daily
 compress
 size=50M
 missingok
 delaycompress
 copytruncate
}
 

9voto

Tristan Points 2251

Vous ne pouvez pas le faire directement par le biais d'un Panneau de commande.

Vous pouvez limiter le journal de la taille, ou utiliser un script pour supprimer les journaux liés à un conteneur. Vous pouvez trouver ici des exemples de scripts (lire à partir du bas): Fonctionnalité: Possibilité d'effacer le journal de l'histoire #1083

Consultez la section enregistrement de l'docker-composer fichier de référence, où vous pouvez spécifier des options (telles que la rotation des journaux et le journal de limite de taille) pour l'abattage des pilotes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X