“Ubuntu 上 overlay 配置失败”原因很多,下面按常见场景给你一个排查清单,你对照看看是哪一种。
先明确一下,常见有三类:
cat /proc/filesystems | grep overlay
如果没有输出:
overlay
说明内核没开 overlay,常见于:
✅ 解决:
vfs(不推荐生产)overlay 不能用在以下文件系统上:
ext2vfatntfs✅ 检查:
df -T
✅ 解决:
ext4 / xfsoverlay 要求:
lowerdir:只读(可多个)upperdir:可读写workdir:空目录,且和 upper 同文件系统❌ 常见错误:
mount -t overlay overlay \
-o lowerdir=/a,upperdir=/a/up,workdir=/b/work \
/mnt
(upper 和 work 不在同一文件系统)
✅ 正确示例:
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
常见于:
/var/lib/docker 在错误文件系统aufs 升级内核后不兼容查看错误:
journalctl -u docker
✅ 解决:
systemctl stop docker
rm -rf /var/lib/docker
systemctl start docker
Ubuntu 默认用 AppArmor,可能拦截 mount。
✅ 临时测试:
sudo apparmor_parser -R /etc/apparmor.d/*
mount: /mnt: mount point is not empty
✅ 解决:
nonempty(不推荐)uname -r
cat /proc/filesystems | grep overlay
df -T
mount | grep overlay
你可以直接贴出:
我可以直接告诉你具体是哪一步错了。