前面一篇教程里面,我们操练了一下如何在一台服务器上实际安装和使用docker。接下来我们来讨论一下和镜像有关的话题。
Docker镜像的分层结构
前面我们也提到过,docker在宿主机上面并不是以一个单独的文件保存一个镜像,而是有一套复杂的类似数据库的数据结构来保存所有的镜像。 这个数据结构,是一个分层的结构。借助网上找来的一张图来解说一下吧。
对于如图所示的这样一个镜像,在docker环境里面是以4个层来存储的。而这四个层,以构建这个镜像的dockerfile里面的操作一一对应。 也就是说,我们在build一个镜像的时候,在dockerfile里面写入的from某个基础镜像,在这个基础镜像的基础上做1,2,3几个操作。对应到这个构建好的镜像,就是分为基础镜像一层,123每个操作一层,一共四层存储。Dockerfile里面的每条命令都会添加一个数据层,最终的image是以若干层叠加存储在宿主机上。
如果另外有一个镜像,和之前的镜像只在最后一层不一样,那么docker系统只保存最后一层的数据,也