image layer:镜像层 Container layer:容器层 Container mount:容器的挂载点
#在镜像层有文件,而其容器层无文件时,其挂载点看到的是镜像层文件
#当镜像层及其容器层都有文件时,挂载点看到的是属于容器层的文件。
实验验证
打开虚拟机配置好docker
$ mkdir /overlay
$ cd /overlay
$ mkdir work low upper merged
$ mount -t overlay overlay -olowerdir=./low,upperdir=./upper,workdir=./work ./merged {挂载]
$ ls overlay ——>>> {low upper merged work}
$ touch low/1.txt
$ touch upper/2.txt
$ ls merged ——>>> {1.txt 2.txt}
#此时,low中有【1.txt】,upper中有【2.txt】,merged中有【1.txt 2.txt】 [在overlay中执行tree查看]
$ cd /merged
$ echo "evsdsfw" >> 1.txt >> 2.txt
#此时,low中有【1.txt】,upper中有【1.txt 2.txt】,merged中有【1.txt 2.txt】 [overlay执行tree查看]
#low中的【1.txt】此时为空,upper中的【1.txt 2.txt】中各自都有新追加的内容"evsdsfw"
#low是最底层,不参与修改文件,修改内容的话会将文件拷贝到upper读写层进行修改,源文件不变,这就是【写实复制】