安全清理容器的日志文件/var/lib/docker/containers

从你的 du -h -d1 输出可以看出:

这极大概率是该容器的 日志文件(b731e62...-json.log)过大导致的。


🔍 第一步:确认是日志文件

进入该目录,查看具体文件:

ls -lh /var/lib/docker/containers/b731e62e9a85206148e66cceb202722362f04f444fc9c4aa205866aaf373abe6/

你应该会看到类似:

-rw-r----- 1 root root 82G ... b731e62e9a85206148e66cceb202722362f04f444fc9c4aa205866aaf373abe6-json.log

✅ 安全清理方案(根据容器状态选择)

🟢 情况一:该容器仍在运行,但你不能停它

比如是生产服务,需要保持运行。

使用 truncate 清空日志而不中断容器:

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

✅ 空间立即释放,容器继续正常运行。


🔴 情况二:该容器已停止或不再需要

比如是测试容器、僵尸容器。

彻底删除容器(推荐):

  1. 先查容器名或确认状态:

    docker ps -a | grep b731e62
    
  2. 如果确认无用,删除它:

    docker rm b731e62e9a85206148e66cceb202722362f04f444fc9c4aa205866aaf373abe6
    

    如果还在运行,先 docker stop <id> 再删。

✅ 删除后,整个目录(包括 82GB 日志)会自动被 Docker 清理。


🛡️ 长期预防:配置日志轮转

避免未来再次出现 82GB 日志!

编辑 /etc/docker/daemon.json(若不存在则创建):

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

然后重启 Docker:

systemctl restart docker

⚠️ 注意:此设置仅对新启动的容器生效。已有容器需重建(docker-compose up -ddocker run 重新创建)才能应用。


🔎 补充建议


✅ 总结操作(推荐顺序)

  1. 先清空日志释放空间(无论容器是否运行):

    truncate -s 0 /var/lib/docker/containers/b731e62e9a85206148e66cceb202722362f04f444fc9c4aa205866aaf373abe6/*-json.log
    
  2. 决定是否保留该容器

    • 不需要 → docker rm
    • 需要 → 未来重建时应用日志限制
  3. 配置全局日志轮转,防止复发。


如果你告诉我这个容器是什么(运行什么服务),我可以给出更具体的建议(比如是否安全删除、如何调低日志级别等)。


Revision #1
Created 20 January 2026 01:20:02 by Admin
Updated 20 January 2026 01:20:40 by Admin