Docker镜像 -- 联合文件系统
1、Docker镜像是什么?
问:镜像是什么?
答:镜像是一种轻量级的、可执行的独立软件包,包括代码、运行时、库、环境变量和配置文件
所有的应用直接打包docker镜像,直接可以跑起来
得到镜像的几种方式:
-
远程仓库下载
-
朋友拷贝
-
自己只做镜像DockerFile
UnionFS
UnionFS:联合文件系统,我们下载镜像时,看到的一层层的就是这个
如果两个镜像有相同的文件,那么第一个下载了,第二个就不用下载了,直接拿第一个镜像的那个文件来用
Docker镜像加载原理
Docker镜像实际上由一层层的文件系统组成
bootfs:所有容器启动的步骤都相同
rootfs:容器就是一个小的Linux
虚拟机是分钟级别,容器是秒级的
2、镜像分层
镜像分层即不同的层互相堆叠,如下图所示,此时,文件5会替换掉文件4,类似于更新的一个操作。
从远程下载redis镜像时,发现有一层已经下载过了,不需要再次下载了
一旦使用docker run运行起来,就相当于再加一层
所有的操作都是基于容器层的,镜像层是不会被改变的,这个时候我们也可以选择将这个容器镜像打包成一个新的镜像