解决 Docker /var/lib/docker/overlay2 空间占用过高
起因
闲来无事想部署一个新玩具,登录ssh创建目录直接No space left on device
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
解决方法
- 先把现有日志删了(存储空间满了啥也干不了)
truncate -s 0 /var/lib/docker/containers/*/*.log
- 然后给docker限制每个容器日志最大只有 50MB,并且只保留 3 个文件
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "3"
}
}
EOF
如果你daemon.json还有其他设置,请自行合并
---
- 最后重启docker
systemctl restart docker