目录
1. 镜像是什么
Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。镜像在构建之后其内容不会被改变。
2. UnionFS 联合文件系统
定义:UnionFS 是 Docker 镜像的基础,本质是一种分层、轻量级并且高性能的文件系统。
特点:
[1] 它支持对文件系统的修改作为一次提交来一层层的叠加。
[2] 可以将不同目录挂载到同一个虚拟文件系统下。
[3] 镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。分层存储使得镜像的复用、定制变的更为容易。
[4] 比如当用户想要将 tomcat 升级到新版本时,不用重新建立新镜像,只需要添加新层即可。还比如要删除前一层文件的操作,实际不是真的删除前一层的文件,而是将当前层标记为文件已删除。
3. Docker镜像加载原理
[1] Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统是 UnionFS。
[2] Docker的底层是bootfs,主要包含主要有含 bootloader 和 kernal。