温馨提示×

怎样清理linux overlay

小樊
39
2026-09-18 15:05:45
栏目: 智能运维

在 Linux 中,“overlay” 通常指 OverlayFS(叠加文件系统),常用于 Docker、容器、Live CD 等场景。清理 overlay 主要看你是 Docker 用的 overlay2,还是 手动挂载的 overlayfs,或者是 系统残留的 overlay 挂载

下面按常见场景说明。


一、Docker 的 overlay2 清理(最常见)

Docker 默认存储驱动通常是 overlay2,数据在:

/var/lib/docker/overlay2

1️⃣ 用 Docker 自带命令清理(推荐)

# 查看磁盘占用
docker system df

# 清理无用数据(容器、镜像、网络、构建缓存)
docker system prune

# 更彻底(会删掉所有未使用的镜像)
docker system prune -a

# 只清理 build cache
docker builder prune

✅ 安全、不会误删运行中的容器


2️⃣ 手动清理(不推荐新手)

不要直接 rm /var/lib/docker/overlay2 除非 Docker 已停止:

systemctl stop docker
rm -rf /var/lib/docker/overlay2
systemctl start docker

⚠️ 这会清空所有镜像和容器


二、清理手动挂载的 overlayfs

如果你自己挂载了 overlay:

mount | grep overlay

卸载 overlay

umount /mnt/overlay

或强制:

umount -l /mnt/overlay

删除底层目录(谨慎)

rm -rf lower upper work merged

三、清理系统启动残留的 overlay(Live 系统 / initramfs)

某些 Linux Live 系统会用 overlay 做只读根文件系统:

mount | grep overlay

清理方式通常是:

  • 重启系统
  • 或从持久化分区删除 overlay 文件

四、overlay 占用空间但找不到文件?

可能是:

  • 已删除但被容器/进程占用
  • inode 未释放

检查:

lsof | grep deleted

重启相关服务或容器即可释放。


五、快速判断你属于哪种情况

docker info | grep Storage
  • 有输出 → Docker overlay2
  • 无 docker → 手动 overlay 或系统 overlay

如果你愿意,可以告诉我:

  • Docker / Kubernetes / 树莓派 / 服务器
  • overlay 路径(/var/lib/docker/overlay2 还是别的)

我可以给你精准清理命令

0