温馨提示×

Linux overlay怎么清理

小樊
37
2026-08-20 12:35:28
栏目: 智能运维

在 Linux 中,“overlay”通常指 OverlayFS(常见于 Docker、Kubernetes、容器运行时)。清理方式取决于你指的是哪种 overlay。下面按常见场景说明。


一、Docker / containerd 的 overlay 清理(最常见)

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

docker system df        # 查看占用
docker system prune     # 清理未使用的容器、镜像、网络

更彻底(⚠️会删掉所有未用镜像)

docker system prune -a

2️⃣ 手动清理 Docker overlay(不推荐,除非异常)

Docker 的 overlay 通常在:

/var/lib/docker/overlay2

⚠️ 不要直接 rm -rf,除非 Docker 已停止。

正确方式:

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

二、Kubernetes / containerd

1️⃣ containerd 清理

crictl rmi --prune

或:

nerdctl system prune

2️⃣ kubelet 残留 overlay

/var/lib/kubelet/pods/*
/var/lib/containerd/io.containerd.runtime.v1.linux/*

✅ 建议通过 删除 Pod / 重启 kubelet 自动清理,不要手动删。


三、系统挂载的 OverlayFS(非容器)

查看当前 overlay 挂载

mount | grep overlay

卸载 overlay

umount /path/to/overlay

如果卸载失败:

lsof +D /path/to/overlay

四、/var/lib/docker 占用巨大但 prune 无效

常见原因 & 解决

  1. Build cache
docker builder prune -a
  1. Volume 没清理
docker volume prune
  1. Docker 没回收空间
docker system df -v

五、快速判断你该用哪种方式

场景 清理方式
Docker 容器 docker system prune
Kubernetes crictl rmi --prune
overlay 挂载 umount
/var/lib/docker 爆满 prune + 检查 volume

六、如果你愿意,我可以精确帮你

你可以直接贴出:

df -h
mount | grep overlay
docker system df

我可以告诉你具体该删什么、不该删什么,避免误删。

0