嘟嘟社区

docker的Ubuntu镜像为什么才30M不到?


瞬间启动,瞬间完成。
docker为什么节省资源:容器和分层技术

你看到的只有容器几M的那个空间占用,是基于底层镜像之上,做的新增的操作,每一个操作都是一层,叠加起来的隔离只是分层上的隔离,而不是把镜像拿来隔离,这是和虚拟机最大的不同。

首先你要明白,Linux操作系统分别由两部分组成
1.内核空间(kernel)
2.用户空间(rootfs)

内核空间是kernel,Linux刚启动时会加载bootfs文件系统,之后bootf会被卸载掉,用户空间的文件系统是rootfs,包含常见的目录,如/dev、/proc、/bin、/etc等等

不同的Linux发行版本(红帽,centos,ubuntu等)主要的区别是rootfs, 多个Linux发行版本的kernel差别不大。因此通过docker pull centos命令下载镜像,实质上下载centos操作系统的rootfs,共用系统的kernel,所以docker下载的镜像大小只有200M。

你问docker镜像为什么小,就像单间放两个架子床睡四个人一样。共享了一个单间。对单间是四倍利用效率。

lazuf9 发表于 2021-11-6 08:03
这是解压以后或者安装以后的大小吧

docker镜像只是文件,没有安装这种概念。这是解压之后的镜像文件大小

因为是个假的Ubuntu

这是解压以后或者安装以后的大小吧

没有内核,只有一些库和必备的二进制文件
docker 容器使用宿主机的内核
hello-world 容器,只要一个可执行文件
精简到你无法想象