“Ubuntu overlay 配置报错”这个说法涵盖范围比较广,因为 overlay 在 Ubuntu 里可能指几种不同场景:
下面先给你最常见报错原因 + 排查思路,你可以对照看是哪一种。
mount: wrong fs type, bad option, bad superblock
overlayfs: missing lowerdir
overlayfs: upperdir is in-use by another mount
参数写错
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
lowerdir 必须存在upperdir 和 workdir 不能相同workdir 必须在 upperdir 同文件系统内核不支持 overlay
cat /proc/filesystems | grep overlay
若无输出,可能是:
upperdir 被占用
failed to start daemon: error initializing graphdriver:
driver not supported
overlay2: the backing xfs filesystem is formatted without d_type support
docker info | grep -i storage
若看到:
WARNING: overlay2: backing filesystem without d_type support
✅ 解决:
ext4mkfs.xfs -n ftype=1 /dev/sdX
Ubuntu 14.04 / 早起的 16.04 容易出
✅ 解决:
apt update
apt install linux-generic
reboot
systemctl stop docker
rm -rf /var/lib/docker
systemctl start docker
常见于:
/init: line xxx: can't mount overlay
casper 参数错误upperdir 不在可写介质# 1. 内核支持
uname -a
cat /proc/filesystems | grep overlay
# 2. Docker 场景
docker info
# 3. 文件系统
df -T /var/lib/docker
# 4. 具体报错
journalctl -xe
dmesg | tail
你可以直接贴:
lsb_release -a)uname -a)我可以直接告诉你是哪一行配置错了,以及怎么改。