一、问题背景

通常我们下载一个centos镜像至少有3G,在docker容器中使用docker pull centos下载的镜像为啥只有200M呢?

带着问题一起学习、思考这个问题
使用docker pull 下载的镜像为什么只有几百兆?_第1张图片

Linux操作系统分别由两部分组成
1.内核空间(kernel)
2.用户空间(rootfs)

使用docker pull 下载的镜像为什么只有几百兆?_第2张图片

内核空间是kernel,Linux刚启动时会加载bootfs文件系统,之后bootf会被卸载掉,

用户空间的文件系统是rootfs,包含常见的目录,如/dev、/proc、/bin、/etc等等

不同的Linux发行版本主要的区别主要是rootfs, 多个Linux发行版本的kernel差别不大,所以docker可以同时支持多种Linux镜像
使用docker pull 下载的镜像为什么只有几百兆?_第3张图片

通过docker pull centos命令下载镜像,实质上下载centos操作系统的rootfs,因此docker下载的镜像大小只有200M