温馨提示×

ubuntu overlay配置失败咋办

小樊
42
2026-09-09 19:04:00
栏目: 智能运维

“Ubuntu 下 overlay 配置失败”常见于 Docker overlay2、OverlayFS 挂载、或 Kubernetes/容器存储 场景。下面按最常见情况给你排查思路,你对照看是哪一种。


一、先确认你用的是哪种 overlay

请先明确:

  • ✅ Docker 的 overlay2 存储驱动
  • ✅ 手动 mount -t overlay
  • ✅ LXC / Kubernetes / 其他

二、Docker overlay2 配置失败(最常见)

1️⃣ 查看 Docker 报错

journalctl -u docker.service -n 100

docker info

常见错误:

  • overlay2 not supported
  • permission denied
  • no such file or directory

2️⃣ 检查内核是否支持 overlay

lsmod | grep overlay
cat /proc/filesystems | grep overlay

如果没有:

modprobe overlay

⚠️ Ubuntu 低版本(< 14.04)或 OpenVZ / 某些 VPS 不支持


3️⃣ 文件系统不支持(非常常见)

overlay 必须在以下文件系统上:

  • ✅ ext4
  • ✅ xfs(需 ftype=1

❌ 不支持:

  • btrfs(部分情况)
  • tmpfs(Docker 不行)
  • 某些云厂商定制 FS

检查 xfs:

xfs_info / | grep ftype

如果不是 ftype=1,Docker 会用不了 overlay2。


4️⃣ Docker 配置示例(正确写法)

{
  "storage-driver": "overlay2"
}

路径:

/etc/docker/daemon.json

改完重启:

systemctl restart docker

三、手动 mount overlay 失败

示例正确命令

mount -t overlay overlay \
  -o lowerdir=/lower,upperdir=/upper,workdir=/work \
  /merged

常见失败原因

❌ workdir 和 upperdir 在同一目录
❌ 权限不足(尤其 rootless)
❌ 目录不存在
❌ SELinux / AppArmor 限制

检查:

dmesg | tail

四、Ubuntu 版本建议

Ubuntu 建议
16.04 可用 overlay2
18.04 ✅ 推荐
20.04 ✅ 推荐
22.04 ✅ 推荐

五、快速自救方案

如果实在用不了 overlay:

{
  "storage-driver": "vfs"
}

⚠️ 慢,但能用


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

请把以下信息发我:

  1. Ubuntu 版本
  2. 用的什么 overlay(Docker / 手动 / K8s)
  3. 完整报错信息(重点)

我可以直接帮你改配置文件。

0