ubuntu overlay怎么正确配置
导读:Ubuntu 中 Overlay 的正确配置指南 一 场景与准备 明确用途:常见有两类 文件系统层叠:用 OverlayFS 将只读层与可写层叠加,常用于只读根文件系统、构建/测试环境等。 容器网络:用 Docker Overlay 网...
Ubuntu 中 Overlay 的正确配置指南
一 场景与准备
- 明确用途:常见有两类
- 文件系统层叠:用 OverlayFS 将只读层与可写层叠加,常用于只读根文件系统、构建/测试环境等。
- 容器网络:用 Docker Overlay 网络 让多主机容器互通。
- 环境要求
- 内核版本建议 ≥ 3.18(OverlayFS 自该版本引入)。
- 安装常用工具:
- 文件系统层叠:
sudo apt update & & sudo apt install -y fuse-overlayfs - 容器网络:
sudo apt install -y docker-ce docker-ce-cli containerd.io
- 文件系统层叠:
- 基本概念
- lowerdir:只读层(基础镜像/只读目录)。
- upperdir:可写层(新增/修改的文件放在这里)。
- workdir:OverlayFS 内部工作目录(必须与 upperdir 在同一文件系统)。
- merged:合并后的统一视图挂载点。
二 配置 OverlayFS 文件系统层叠
-
- 创建目录结构
- 示例:
- 只读层:
/mnt/lower(可指向只读镜像或现有目录) - 可写层:
/mnt/overlay/upper - 工作目录:
/mnt/overlay/work - 挂载点:
/mnt/overlay/merged
- 只读层:
- 命令:
sudo mkdir -p /mnt/lower /mnt/overlay/{ upper,work,merged}
-
- 手动挂载
- 命令:
sudo mount -t overlay overlay -o lowerdir=/mnt/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work /mnt/overlay/merged
-
- 开机自动挂载(/etc/fstab)
- 在
/etc/fstab追加:overlay /mnt/overlay/merged overlay defaults,lowerdir=/mnt/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
- 应用:
sudo mount -a
-
- 验证
mount | grep overlaydf -h /mnt/overlay/mergedls /mnt/overlay/merged
-
- 卸载
sudo umount /mnt/overlay/merged
-
- 只读根文件系统(可选,使用 overlayroot)
- 安装:
sudo apt install -y overlayroot - 编辑:
sudo nano /etc/overlayroot.conf,将enabled=yes,并按需设置lowerdir/upperdir/workdir/mergedir(多数场景使用默认配置即可,修改前务必备份)。 - 提示:启用后系统根分区将变为只读叠加视图,写入会落到 upper 层;如需回滚,可在引导菜单选择不启用 overlayroot 的条目。
三 配置 Docker Overlay 网络(容器跨主机通信)
-
- 安装并启动 Docker
sudo apt install -y docker-ce docker-ce-cli containerd.iosudo systemctl start docker & & sudo systemctl enable docker
-
- 初始化 Swarm(跨主机需要)
sudo docker swarm init(如已加入集群可跳过)
-
- 创建 Overlay 网络
sudo docker network create --driver overlay my-overlay
-
- 运行容器并连接
sudo docker run -dit --name c1 --network my-overlay ubuntusudo docker run -dit --name c2 --network my-overlay ubuntu
-
- 验证
sudo docker exec -it c1 ping c2- 管理:
docker network ls、docker network inspect my-overlay、docker network rm my-overlay
四 常见问题与排查
- 内核与版本
- 确保内核 ≥ 3.18;过旧内核不支持 OverlayFS。
- 目录与权限
upperdir与workdir必须在同一文件系统;目录需存在且权限正确(建议使用 root 操作)。
- 只读根与持久化
- 使用 overlayroot 时,系统盘写入会进入 upper 层;如需持久化数据,请将数据目录放在 overlay 之外并单独挂载。
- fstab 与启动失败
- 先在命令行测试
mount -a无误再重启;如配置错误导致无法启动,可在引导菜单选择不启用 overlayroot 的条目或使用 LiveCD 修正/etc/fstab。
- 先在命令行测试
- 容器网络限制
- Overlay 网络用于多主机场景;单机使用意义有限。
- 多 lowerdir 写法
- 需要多个只读层时,用冒号分隔:
lowerdir=/lower1:/lower2[:...]。
- 需要多个只读层时,用冒号分隔:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu overlay怎么正确配置
本文地址: https://pptw.com/jishu/754818.html
