Docker中的镜像是由若干个文件系统叠加而成的。一个镜像可能是由多个系统组装而成的。
Docker中有得镜像很大,有得镜像很小,比如tomcat镜像是500M,而tomcat的安装包只有70M,centos的镜像有200M,但是centos操作系统的ios却有10个g。
了解了Docker的镜像原理之后便可以理解以上的问题。
一些概念
镜像:Docker镜像,就相当于是一个root文件系统
容器:使用镜像创建容器,镜像是静态的定义,而容器则是镜像运行的实体。
一个linux文件系统由bootfs和rootfs两部分组成。
bootfs:包含引导加载程序和内核。
rootfs:root文件系统,就是linux中标准的文件目录等。
不同的linux发行版,其bootfs都是一样的,不一样的是rootfs.
一个centos镜像只有200M其实是依赖的宿主机的bootfs.而不同的发行版本有自己的rootfs。这样子叠加而成就形成了一个镜像。
一个镜像可以放在另外一个镜像的上面,位于下面的镜像称为父镜像,最底部的称之为基础镜像。
当从一个镜像启动容器时,docker会在顶端加在一个可读写的文件系统作为容器。
一个tomcat的容器,由如下镜像组成。
它由不同的文件系统组成,在我们看来是一个tomcat镜像,其实它依赖了很多不同的文件系统,而这些文件系统又可以供他人使用。
所以在docker中可以使用一个镜像创建不同的容器,就像类和对象的关系。
标签:容器,文件系统,bootfs,原理,镜像,Docker,rootfs From: https://www.cnblogs.com/swayer/p/17003119.html