Docker容器管理与配置全解析
1. Docker容器层
容器是位于只读层之上的一个薄读写层。Docker守护进程构建镜像的只读文件系统层后,会在 /var/lib/docker/overlay2 目录(Linux)内创建容器的薄读写层,其文件结构和链接引用与只读层相同。
数据修改操作通过写时复制(CoW)策略在读写层进行。当对只读文件系统层中的文件进行更改时,联合文件系统会执行 copy_up 操作,将文件从包含该文件的文件系统层的 diff 目录复制到容器的 diff 目录,然后再进行更改。后续对该文件的更改将写入读写层的 diff 目录。不过,与SQL Server不同,Docker会复制整个文件,这使得处理大型、写密集型进程(如关系数据库)效率低下。写大量数据的容器在读写层需要更多磁盘空间。
数据删除是通过在读写层的 diff 目录中创建一个白出文件(whiteout file)来实现的。白出文件是联合文件系统中的一种特殊文件,扩展名为 .wh. ,就像用白色颜料覆盖文件,从容器的角度看文件似乎消失了,但实际上它仍在白色颜料之下。
停止容器不会删除读写层,Docker在读写层写入的所有内容仍保留在本地磁盘上。只有在删除容器时,读写层的目录才会从磁盘中删除。
2. Docker守护进程配置
可以通过两种方式配置Docker守护进程:使用标志(flags)和使用 daemon.json </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



