码头工人为容器提供了两种存放数据的资源:
-
<李>由存储驱动管理的镜像层和容器层。李>
<李>数据量。李>
存储介质
码头工人的镜像分层结构,如下所示:
李>
无论是体积还是绑定挂载,其本质上是宿主机文件系统中的目录或者文件
无论是体积还是绑定挂载,其上存放的数据生命周期对立于容器,即容器删除之后,体积或者绑定挂载上的数据,依旧存在
体积
卷本质上是码头工人主机文件系统中的目录或文件,能够直接被挂载到容器的文件系统中.Volume有以下特点:
-
<李>体积是目录或文件,而非没有格式化的磁盘(块设备)。李>
<李>容器可以读卷中写的数据。李>
<李>体积数据可以被永久的保存,即使使用它的容器已经销毁。李>
因体积为实际上是码头工人主机文件系统的一部分,所以体积的容量取决于文件系统当前未使用的空间。
体积使用注意事项:
-
<李>卷的内容存在容器的生命周期之外,删除后依旧存在李>
<李>挂载卷时,不需要指定山源,指定挂载点即可,码头工人会在/var/lib/码头工人/卷路径下为每生个卷成一个目录,作为源山李>
<李>若挂载点指向容器中已有的目录,则该目录下的数据会被复制到卷中李>
<李>若挂载点指向容器中的空目录,则会自动创建所需目录。李>
<李>若启动挂载上不存在的卷的容器,Dokcer会自动创建卷李>
<李>卷再使用时,可通过ro参数将容器戳体积的权限设置为只读李>
绑定挂载
绑定挂载是将主机上已存在的目录或文件挂载到容器。
绑定挂载实际上是一个inode替换的过程。
绑定挂载机制主要作用,允许一个目录或者文件(不是整个设备)挂载到一个指定的目录上,而且在该挂载点上进行任何的操作,只是发生在被挂载的目录或者文件上,而原挂载点的内容则会被隐藏起来不受影响。
绑定挂载使用注意事项:
-
<李>容器运行过程中,对绑定挂载目录中改动的数据,将被保存,删除容器后,绑定挂载中的数据任然存在。