解决 Docker /var/lib/docker/overlay2 空间占用过高

2025 年 11 月 14 日 星期五(已编辑)
4

解决 Docker /var/lib/docker/overlay2 空间占用过高

起因

闲来无事想部署一个新玩具,登录ssh创建目录直接No space left on device

df -h一看 吓哭了

df-h

df-h

在AI的指点下用du -h /var/lib/docker/overlay2 | sort -h | tail -n 20命令查找最大的20 个目录和du -h /var/lib/docker/containers/*/*.log | sort -h查找日志文件

发现了快40G的日志(吓哭了) 直接给我整个vps占满了

log

log

解决方法

  1. 先把现有日志删了(存储空间满了啥也干不了)
truncate -s 0 /var/lib/docker/containers/*/*.log

  1. 然后给docker限制每个容器日志最大只有 50MB,并且只保留 3 个文件
cat > /etc/docker/daemon.json <<EOF
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}
EOF

如果你daemon.json还有其他设置,请自行合并

---

  1. 最后重启docker
systemctl restart docker

评论已关闭