温馨提示×

ubuntu overlay怎样启用

小樊
41
2026-09-15 22:44:35
栏目: 智能运维

在 Ubuntu 中,“overlay”通常指 OverlayFS(叠加文件系统),常用于容器(Docker)、Live CD、系统只读层叠加等场景。下面按常见用途说明如何“启用”。


一、确认内核支持 OverlayFS

OverlayFS 从 Linux 3.18 开始进入主线,Ubuntu 14.04+ 一般已支持。

cat /proc/filesystems | grep overlay

lsmod | grep overlay

如果没有输出,可手动加载模块:

sudo modprobe overlay

开机自动加载(可选):

echo overlay | sudo tee -a /etc/modules-load.d/overlay.conf

二、手动挂载 OverlayFS(最常用方式)

基本结构

  • lowerdir:只读层(可多个,用 : 分隔)
  • upperdir:可写层
  • workdir:工作目录(必须为空)
  • merged:挂载点

示例

sudo mkdir -p /overlay/lower /overlay/upper /overlay/work /overlay/merged

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

验证:

mount | grep overlay

卸载:

sudo umount /overlay/merged

三、开机自动挂载(fstab)

编辑 /etc/fstab

overlay /overlay/merged overlay
  lowerdir=/overlay/lower,upperdir=/overlay/upper,workdir=/overlay/work
  0 0

⚠ 注意:

  • workdir 不能与 upperdirlowerdir 相同
  • workdir 必须为空

四、Docker 使用 Overlay(常见场景)

Ubuntu 上 Docker 默认使用 overlay2 存储驱动。

查看:

docker info | grep Storage

若未启用:

sudo nano /etc/docker/daemon.json
{
  "storage-driver": "overlay2"
}

重启 Docker:

sudo systemctl restart docker

五、Ubuntu Live / 系统层叠加(高级)

系统级 overlay 通常用于:

  • 只读根文件系统
  • 恢复环境
  • 嵌入式系统

一般在 initramfs 阶段配置,修改:

/etc/initramfs-tools/scripts/init-bottom/overlay

如你需要“系统启动后用 overlay 覆盖根目录”,可告诉我你的具体用途。


六、常见问题

1. 报错:workdir and upperdir must be on same filesystem

upperdirworkdir 必须在同一文件系统

2. 报错:lowerdir is not a directory

→ 路径不存在或权限不足

3. Docker 无法使用 overlay

→ 检查文件系统是否为 ext4xfs(带 ftype=1)

df -T

如果你是指:

  • Ubuntu 桌面版 overlay 显示问题
  • Wayland / X11 overlay
  • GRUB overlay 启动
  • 容器 overlay 网络

可以告诉我具体场景,我给你更精确的配置方法。

0