docker的联合文件系统和镜像原理

大家好,今天分享docker的联合文件系统和镜像原理

第一个问题就是:

镜像是什么东西:

镜像就是一个轻量级,可以执行的软件包,它是用来打包软件的运行环境和基于这

个环境开发的软件,它包含了软件运行所需要的所有东西

我们:

  1. 可以从远程仓库里下载
  2. 可以找别人拷贝
  3. 可以自己制作一个dockerfile 文件

docker 镜像加载的原理:

联合文件系统():是一种分层,轻量级,而且性能很高的文件系统,它是可以对文件系统的修改作为一种结果的提交进行一层一层的叠加,同时将不同的目录挂载到同一个虚拟文件系统, 联合文件系统是docker镜像的基础,docker 镜像可以通过分层来进行继承,而原始镜像,也可以称为父镜像,可以基于(依托于父镜像),来制作各种拥有各种具体功能的镜像

特点:

一次加载多个文件系统,从外面看,就只能看见一个文件系统,把所有所有的文件系统叠加到一起,这样的

文件系统会将所有的文件和命令包含起来

docker的联合文件系统和镜像原理

这样更清晰:

docker的联合文件系统和镜像原理
可以把它分三步:
  1. 内核
  2. 内核+镜像(images)
  3. 内核+镜像(images)+镜像(images)

我们可以发现,在这个过程当中,它的内核是共用的

在这个图当中 ,还可以看见俩个概念:

1.bootfs : boot file system 我们的docker是安装我们Linux宿主机上,.bootfs的过程就是我们linux宿主机去加载内核并且启动系统的过程

2.rootfs (root file system ): 就是我们内核加载完成之后,进入到的目录文件,就是各种操作系统的发行版,即我们已经进入系统

这里,我们也可以将docker理解为类似于VMware 一样的虚拟机

拿centos7 的原生镜像举例:

docker的联合文件系统和镜像原理

进入这个容器之后,很多命令都是没有的

因为这是压缩版的,它只有维持它正常运行的必要的东西

在运行这个镜像进而成为一个容器的同时,会发现它特别的快。因为它和本地Linux宿主机共用一个系统内核

省去了系统内核加载的时间和资源消耗
这就是

VMware
docker

好了,docker的联合文件系统和镜像原理就到这里了,谢谢大家

来源:思诚代码块

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月10日
下一篇 2022年2月10日

相关推荐