温馨提示×

ubuntu overlay如何挂载

小樊
36
2026-09-15 22:45:35
栏目: 智能运维

在 Ubuntu 中,overlay(OverlayFS)常用于容器、Live CD、只读根文件系统等场景。下面按常见用途说明如何挂载 overlay。


一、OverlayFS 基本原理

OverlayFS 把多个目录“叠加”成一个统一视图:

  • lowerdir:只读层(可以多个,用 : 分隔)
  • upperdir:可写层(只能一个)
  • workdir:工作目录(必须和 upperdir 同文件系统,且为空)
  • merged:最终挂载点

二、手动挂载 Overlay(最常用)

1️⃣ 准备目录

mkdir -p /lower /upper /work /merged

示例内容:

echo "lower file" > /lower/file.txt

2️⃣ 挂载 overlay

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

3️⃣ 验证

ls /merged
cat /merged/file.txt

写入文件会进入 /upper,不会修改 /lower


三、使用 /etc/fstab 开机挂载

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

⚠️ 确保 /upper/work 在系统启动后即可用(如本地磁盘)


四、多 lowerdir(层叠)

mount -t overlay overlay \
  -o lowerdir=/lower1:/lower2,upperdir=/upper,workdir=/work \
  /merged

优先级:左边优先


五、Docker / 容器中的 overlay

Docker 默认使用 overlay2

docker info | grep Storage

一般不需要手动挂载,由 Docker 管理。


六、Ubuntu Live / 只读根文件系统

常见于:

  • Ubuntu Live USB
  • 嵌入式系统

结构一般是:

lowerdir=/ro-root
upperdir=/rw
workdir=/rw-work
merged=/

七、常见问题

❌ workdir 和 upperdir 不在同一文件系统

报错:

workdir and upperdir must be on same filesystem

❌ workdir 非空

workdir must be empty

❌ 权限问题

使用 sudo 或 root 用户操作。


八、卸载

umount /merged

如果你有具体使用场景(如:Live 系统、Docker、根目录只读、嵌入式),可以告诉我,我可以给你更针对性的方案。

0