📜  docker clear container logs (1)

📅  最后修改于: 2023-12-03 14:40:48.827000             🧑  作者: Mango

Docker Clear Container Logs

当我们运行应用程序容器时,经常需要查看其日志以调试和监测应用程序的运行状况。但是容器日志的持续增长可能导致磁盘空间不足,因此定期清理日志是必要的任务。

这里介绍如何在Docker中清理容器日志。

1. 查看容器日志

在Docker中,可以使用docker logs命令来查看容器的日志。以下是一些示例:

$ docker logs my_container

这将输出my_container容器的标准输出。

$ docker logs -f my_container

这将打印my_container容器的实时输出,并将其缓冲到控制台。

$ docker logs --tail 50 my_container

这将输出my_container容器的最后50行日志。

2. 清理容器日志

要清空容器日志,可以使用docker logs命令与/dev/null设备结合使用。以下是一些示例:

$ docker logs my_container > /dev/null

这将把my_container容器的日志写入/dev/null来清空它。

$ docker logs my_container | tee /var/log/docker/my_container.log > /dev/null

这将将my_container容器的日志写入/var/log/docker/my_container.log文件,并清空日志。

$ truncate -s 0 $(docker inspect --format='{{.LogPath}}' my_container)

这将在Linux主机上截断my_container容器的日志文件,并清空容器日志。

3. 定期清理容器日志

为避免运行Docker时出现日志过大的问题,最好定期清理容器日志。

可以使用logrotate来定期清理Docker容器日志。在Linux主机上,您可以编辑/etc/logrotate.conf文件,并添加以下行:

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

这将在容器日志文件达到50MB时,每天轮转一次,并将旧日志压缩。它还会保留最近7个日志文件。

4. 总结

在Docker中清理容器日志是保证容器运行健康的必要步骤。本文介绍了如何查看容器日志,并提供了清空容器日志的示例。最后,还介绍了使用logrotate定期清理容器日志的方法。