Linux 的 Overlay(overlayfs) 常见于:
报错原因很多,下面按常见场景 + 排查思路 + 解决办法给你一个通用指南。
常见报错:
failed to mount overlayoverlay: upperdir is in-usepermission deniedno such file or directory✅ 检查:
docker info | grep -i storage
确认是 overlay2
✅ 常见解决:
# 1. 清理无用容器/镜像
docker system prune -a
# 2. 检查文件系统
df -Th /var/lib/docker
# 3. 必须是支持的 fs(ext4 / xfs)
mount | grep docker
⚠️ 注意:
tmpfs / nfs 上用典型命令:
mount -t overlay overlay \
-o lowerdir=/a,upperdir=/b,workdir=/c /mnt
workdir 不存在或不是空目录报错:
mount: wrong fs type, bad option, workdir not empty
✅ 解决:
mkdir -p /c
rm -rf /c/*
❌ 不支持嵌套
✅ 解决:
比如:
✅ 解决:
df -T /path
换成 ext4 / xfs
报错:
permission denied
✅ 解决:
setenforce 0 # 测试
或加:
-o context="system_u:object_r:container_file_t:s0"
常见:
overlayfs: missing lowerdir
overlayfs: failed to mount root fs
✅ 检查:
cat /proc/filesystems | grep overlay
lsmod | grep overlay
如果没有:
modprobe overlay
旧内核(< 3.18)不支持 overlay2
uname -r
cat /proc/filesystems | grep overlay
df -T lower upper work
ls -ld lower upper work
mount | grep overlay
dmesg | tail
请把以下信息贴出来:
uname -a我可以直接告诉你是哪一行配置错了。