“Ubuntu overlay 配置报错”这个说法比较宽泛,overlay 在 Ubuntu 里常见于几种场景:
下面我先给你最常见报错 + 对应解决办法,你可以对照看看。
如果还不行,把具体报错信息贴出来即可。
mount: wrong fs type, bad option, bad superblock
overlay: missing lowerdir
overlay: upperdir is in-use by another overlay
mkdir -p /mnt/overlay/{lower,upper,work,merged}
sudo mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
workdir 必须和 upperdir 在同一文件系统lowerdir 可以多个,用 : 分隔upperdir 不能已经是 overlay 的挂载点✅ 检查内核支持:
cat /proc/filesystems | grep overlay
failed to start daemon: error initializing graphdriver: drivers not supported
overlay2: the backing xfs filesystem is formatted without d_type support
docker info | grep -i overlay
如果是 xfs 且不支持 d_type:
mkfs.xfs -n ftype=1 /dev/sdX
(需要重新格式化)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"storage-driver": "overlay2"
}
EOF
sudo systemctl restart docker
overlay /mnt/merged overlay defaults 0 0
overlay /mnt/merged overlay \
lowerdir=/lower,upperdir=/upper,workdir=/work 0 0
⚠️ 注意:
options 必须写全[Mount]
What=overlay
Where=/mnt/merged
Type=overlay
Options=lowerdir=/a,upperdir=/b,workdir=/c
常见错误:
workdir 没写请确认:
你可以直接回复类似:
Ubuntu 22.04,Docker 启动报 overlay2 错误:
error while creating filesystem: xfs failed
daemon.json 已配置 overlay2
或者:
mount -t overlay 报错:
mount(2) system call failed
我可以直接给你精准修复命令。