本地镜像都保存在 Docker宿主机的/var/lib/docker目录下。
1.镜像的分层结构
(1)分层结构
Docker镜像是由文件系统叠加而成,最底端是一个引导文件系统bootfs,这很像典型的 Linux/Unix的引导文件系统,Docker用户几乎永远不会和引导文件系统有什么交互。实际上,当容器启动后,引导文件系统则会被卸载,以留出更多的内存供initrd磁盘镜像使用。Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上。rootfs可以是一种或多种操作系统(如 Debian或者Ubuntu文件系统)。
在传统的 Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并完成了完整性检査之后,它才会被切换为读写模式。但是在Docker里,root文件系统永远只能是只读状态,并且Docker利用联合加载(union mount)技术又会在root文件系统层上加载更多的只读文件系统。联合加载指的是一次同时加载多个文件系统,但是在外面看起来只能看到一个文件系统。联合加载会将各层文件系统叠加到一起,这样最终的文件系统会包含所有底层的文件和目录。
Docker将这样的文件系统称为镜像,一个镜像可以放到另一个镜像的顶部。位于下面的镜像称为父镜像(parent image),可以依次类推,直到镜像栈的最底部,最底部的镜像称为基础镜像(base image&#