/sys/fs/aufs/系统为挂载点建立的文件夹,包含权限管理
/var/lib/docker/aufs/diff//包含了子镜像存储的真实文件和目录
/var/lib/docker/aufs/mnt//挂载点
/var/lib/docker/aufs/layers//layer//存放镜像的祖先镜像列表的文件
/var/lib/docker/container//容器layer权限
测试,建立文件目录结构如下
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ tree ../dktest
../dktest#测试文件夹
├── containerlayer#容器层 for rw
│ └── containerlayer.txt
├── imagelayer1
│ └── imagelayer1.txt
├── imagelayer2
│ └── imagelayer2.txt
└── imagelayer3
└── imagelayer3.txt
└── mnt
此时挂载点建立的文件目录为空
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ ls /sys/fs/aufs
config
挂载
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ sudo mount -t aufs -o dirs=./containerlayer:./imagelayer1:./imagelayer2:./imagelayer3 none ./mnt
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ tree ../dktest
../dktest
├── containerlayer
│ └── containerlayer.txt
├── imagelayer1
│ └── imagelayer1.txt
├── imagelayer2
│ └── imagelayer2.txt
├── imagelayer3
│ └── imagelayer3.txt
└── mnt
├── containerlayer.txt
├── imagelayer1.txt
├── imagelayer2.txt
└── imagelayer3.txt
5 directories, 8 files
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ ls /sys/fs/aufs
config si_b149f18273e0b421
可以看到si_b149f18273e0b421文件夹被建立,里面内容是相关文件权限
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ cat /sys/fs/aufs/si_b149f18273e0b421/*
/home/hongjie-xu/dktest/containerlayer=rw
/home/hongjie-xu/dktest/imagelayer1=ro
/home/hongjie-xu/dktest/imagelayer2=ro
/home/hongjie-xu/dktest/imagelayer3=ro
64
65
66
67
/home/hongjie-xu/dktest/containerlayer/.aufs.xino
向挂载点中的文件写入
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ echo -e "hello word" >> ./mnt/imagelayer2.txt
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ tree ../dktest/
../dktest/
├── containerlayer
│ ├── containerlayer.txt
│ └── imagelayer2.txt#多了这个文件
├── imagelayer1
│ └── imagelayer1.txt
├── imagelayer2
│ └── imagelayer2.txt#这个文件并没有发生变化
├── imagelayer3
│ └── imagelayer3.txt
└── mnt
├── containerlayer.txt
├── imagelayer1.txt
├── imagelayer2.txt#这个文件发生了变化
└── imagelayer3.txt
5 directories, 9 files
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ cat mnt/imagelayer2.txt
image 2
hello word
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ cat imagelayer2/imagelayer2.txt
image 2
hongjie-xu@hongjiexu-MS-7B89:~/dktest$ cat containerlayer/imagelayer2.txt
image 2
hello word
总结:cow写时复制,往挂载的文件写时,会更新到可以读写的container layer中,原本的image layer不发生变化,即会将被修改的镜像层文件直接拷贝到容器层,进行修改,挂载的文件也会覆盖