docker 基于 overlayFS 文件系统原理
# docker 容器,默认基于 overlayFS 的文件系统原理演示
mkdir lower upper merged work
echo "I'm from lower" > lower/mylower.txt
echo "I'm from upper" > upper/myupper.txt
echo "I'm from lower" > lower/myboth.txt
echo "I'm from upper" > upper/myboth.txt
# 挂载前文件结构
tree
.
├── lower
│ ├── myboth.txt
│ └── mylower.txt
├── merged
├── upper
│ ├── myboth.txt
│ └── myupper.txt
└── work
4 directories, 4 files
# 以 overlayFS 格式挂载
sudo mount -t overlay overlay -o lowerdir=`pwd`/lower,upperdir=`pwd`/upper,workdir=`pwd`/work `pwd`/merged
tree
.
├── lower
│ ├── myboth.txt
│ └── mylower.txt
├── merged
│ ├── myboth.txt
│ ├── mylower.txt
│ └── myupper.txt
├── upper
│ ├── myboth.txt
│ └── myupper.txt
└── work
5 directories, 7 files
# 尝试写入合并层
echo "I'm from upper2" >> merged/myboth.txt
# 查看 lower 层的 myboth.txt 文件内容
cat lower/myboth.txt
I'm from lower
# 查看 upper 层的 myboth.txt 文件内容
cat upper/myboth.txt
I'm from upper
I'm from upper2
# 结束清理
sudo umout `pwd`/merged
sudo \rm -rf `pwd`/*