docker的镜像其实是由一层一层的文件系统组成的,这种层级的文件系统叫作UnionFS 联合文件系统linux
1.bootfs(boot file system)主要包括bootloader和kernel, bootloader主要是引导加载kernel,linux刚启动时候会加载bootfs文件系统,在docker镜像的最底层是bootfs。 这一层与咱们典型的Linux/Unix系统是同样的,包括boot加载器和内核。当boot加载完以后,整个内核就在内存中了,此时内存的使用权已经有bootfs 交由内核,此时系统也会卸载bootfsdocker
2.rootfs(root file system), 在bootsfs之上,包含的就是典型的Linux系统中的/dev/,proc,/bin, /etc等标准目录文件,rootfs就是各类不一样的操做系统发行版,好比Ubuntu, Centos等,对于一个精简的OS, rootfs能够很小,只须要包括最基本的命令、工具和程序库就能够了,由于底层用Host的Kernel,本身只须要提供rootfs就行。因而可知,对于不一样的linux发行版,bootds基本是一致的,rootfs会有差异,所以不一样的发行版能够共用bootfside