在 Ubuntu 里,“overlay”通常指 OverlayFS(联合文件系统),常用于容器、Live CD、或把只读目录和可写目录叠加在一起。
你问“怎么添加文件”,要看你是在使用 overlay 还是配置 overlay。下面分情况说明。
OverlayFS 至少有两个目录:
添加文件实际是写到 upperdir,但在 merged 目录操作即可。
mkdir -p /tmp/overlay/{lower,upper,work,merged}
echo "read only" | sudo tee /tmp/overlay/lower/file1
sudo mount -t overlay overlay \
-o lowerdir=/tmp/overlay/lower,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work \
/tmp/overlay/merged
直接在 merged 目录写文件:
echo "new file" | sudo tee /tmp/overlay/merged/newfile
效果:
newfile 实际存在 /tmp/overlay/upper/newfilefile1 仍然可见如果你是用 Docker:
示例:
FROM ubuntu
RUN echo "hello" > /etc/myfile
或在容器里直接:
docker exec -it container bash
echo "test" > /root/testfile
对,lower 是只读的,只能往 upper 或 merged 加。
sudo umount /tmp/overlay/merged
写 /etc/fstab:
overlay /mnt/merged overlay lowerdir=/data/lower,upperdir=/data/upper,workdir=/data/work 0 0
Ubuntu 里也可能是:
可以告诉我你具体是在:
我可以给你更精确的添加文件方法。