Docker 日志疯狂吃满磁盘?手把手教你安全清理与预防(附一键脚本)
前言在使用Docker部署服务时,很多开发者都会遇到一个“隐形杀手”——容器日志把服务器磁盘空间吃满,导致服务异常甚至宕机。默认情况下,Docker的日志驱动是json-file,且没有大小和数量限制。对于高并发或打印大量Debug日志的服务,运行几天后,单个日志文件可能达到几个G甚至几十个G。本文将带你从排查、清理到预防,彻底解决Docker日志占满磁盘的问题。一、 定位问题:如何找到“罪魁祸首”?在清理之前,我们先找出究竟是哪个容器的日志占用了大量空间。进入Docker的默认日志目录(通常为/var/lib/docker/containers),使用du命令排序查看:# 查看所有容器日志大小并按大小排序(降序) sudo du -d1 -h /var/lib/docker/containers/ | sort -hr*输出示例:*4.2G /var/lib/docker/containers/a1b2c3d4e5f6... 512M /var/lib/docker/containers/f6e5d4c3b2a1...拿到这串长ID后,我们可以通过docker ps找到对应的容器名。二、 精准打击:查看与清理单个容器日志1. 查看容器日志的绝对路径如果你想知道某个具体容器的日志存放在服务器的哪个文件里,可以使用inspect命令提取LogPath:docker inspect --format='{ {.LogPath}}' container