问题
Docker镜像本质是什么?
Docker中一个centos镜像为什么只有200MB,而一个centos操作系统的iso文件要几个个G?
Docker中一个tomcat镜像为什么有500MB,而一个tomcat安装包只有70多MB?
镜像原理
Docker镜像是由特殊的文件系统叠加而成
最底端是bootfs,并使用宿主机的bootfs
第二层是root文件系统rootfs,称为base image然后再往上可以叠加其他的镜像文件
统一文件系统(UnionFile System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。分层,方便复用
一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像,最底部的镜像成为基础镜像。
当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器。可以在这上面对容器进行修改,然后会将其与之前的镜像合成一个新的镜像