温馨提示×

ubuntu overlay怎么开启配置

小樊
38
2026-10-18 11:14:07
栏目: 智能运维

在 Ubuntu 里,“overlay”通常指 OverlayFS(联合文件系统),常用于容器(Docker)、Live CD、或把只读根文件系统叠加可写层。下面按常见使用场景说明如何开启和配置。


一、确认内核支持 OverlayFS

Ubuntu 默认内核已支持:

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

如果没有加载:

sudo modprobe overlay

开机自动加载(可选):

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

二、手动挂载 OverlayFS(最基础用法)

1️⃣ 准备目录

mkdir -p /mnt/overlay/{lower,upper,work,merged}
  • lower:只读层
  • upper:可写层
  • work:必须为空,Overlay 内部使用
  • merged:最终挂载点

2️⃣ 挂载

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

3️⃣ 验证

mount | grep overlay

三、开机自动挂载(/etc/fstab)

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

⚠️ 注意:

  • workdir 必须和 upperdir 同文件系统
  • workdir 必须为空

四、Docker 中使用 Overlay(最常见)

Ubuntu + Docker 默认就用 overlay2:

docker info | grep Storage

如果不是:

修改 /etc/docker/daemon.json

{
  "storage-driver": "overlay2"
}

重启 Docker:

sudo systemctl restart docker

五、Ubuntu Live / 系统根目录 Overlay(高级)

用于把只读系统盘变成可写(常见于嵌入式):

mount -t overlay overlay \
  -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work \
  /newroot

然后 switch_root 到 /newroot


六、常见问题

❌ 报错:workdir and upperdir must be same filesystem

✅ 解决:放在同一分区

❌ 报错:mount: wrong fs type

✅ 解决:

sudo modprobe overlay

如果你指的是:

  • ✅ Docker overlay
  • ✅ Ubuntu 系统根 overlay
  • ✅ K8s / containerd
  • ✅ 树莓派 / 嵌入式

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

0 踩