码头工人学习码头工人存储

  

码头工人为容器提供了两种存放数据的资源:

  
      <李>由存储驱动管理的镜像层和容器层。   <李>数据量。   
  

存储介质   

码头工人的镜像分层结构,如下所示:
码头工人学习码头工人存储”> <br/>码头工人镜像中引入层层的概念,镜像的制作过程中的每一步擦欧总,都会生成一个新的镜像层</p>
  <p>容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的分层结构最大的特性是即写即拷:</p>
  <ul>
  <李>新数据会直接存放在最上面的容器层。</李>
  <李>修改现有数据会先从镜像层将数据复制到容器层,修改后的数据直接保存在容器层中,镜像层保持不变。</李>
  <李>如果多个层中有命名相同的文件,用户只能看到最上面那层中的文件。<br/>分层结构使镜像和容器的创建,共享以及分发变得非常高效,而这些都要归功于码头工人存储驱动程序。正是存储驱动程序实现了多层数据的堆叠并为用户提供一个单一的合并之后的统一视图。<br/>码头工人支持多种存储驱动程序,有汪汪汪,设备映射器,Btrfs, OverlayFS, VFS和ZFS。它们都能实现分层的架构,同时又有各自的特性。<br/>码头工人会优先使用Linux发行版默认的存储驱动程序。<br/>码头工人安装时会根据当前系统的配置选择默认的司机。默认司机具有最好的稳定性,因为默认司机在发行版上经过了严格的测试。<br/>运行<代码> </代码>码头工人信息可查看当前系统使用的存储驱动程序<br/> <img src=      

码头工人学习码头工人存储”> <br/> centos默认的司机用的是overlay2,底层的文件系统是xfs,各层数据存放在/var/lib/码头工人</p>
  <p>对于某些容器如busybox只是个工具箱,不需要保存数据以后使用,使用完成后直接退出,容器删除时存放在容器层中的工作数据也一起被删除。</p>
  <h2>码头工人数据管理</h2>
  <p>码头工人容器中持久化数据一般采用两种存储方式:<br/> <br/>绑定挂载卷<br/> <img src=无论是体积还是绑定挂载,其本质上是宿主机文件系统中的目录或者文件
无论是体积还是绑定挂载,其上存放的数据生命周期对立于容器,即容器删除之后,体积或者绑定挂载上的数据,依旧存在

  

体积   

卷本质上是码头工人主机文件系统中的目录或文件,能够直接被挂载到容器的文件系统中.Volume有以下特点:

  
      <李>体积是目录或文件,而非没有格式化的磁盘(块设备)。   <李>容器可以读卷中写的数据。   <李>体积数据可以被永久的保存,即使使用它的容器已经销毁。   
  

因体积为实际上是码头工人主机文件系统的一部分,所以体积的容量取决于文件系统当前未使用的空间。

  

体积使用注意事项:

  
      <李>卷的内容存在容器的生命周期之外,删除后依旧存在李   <李>挂载卷时,不需要指定山源,指定挂载点即可,码头工人会在/var/lib/码头工人/卷路径下为每生个卷成一个目录,作为源山李   <李>若挂载点指向容器中已有的目录,则该目录下的数据会被复制到卷中李   <李>若挂载点指向容器中的空目录,则会自动创建所需目录。   <李>若启动挂载上不存在的卷的容器,Dokcer会自动创建卷   <李>卷再使用时,可通过ro参数将容器戳体积的权限设置为只读   
  

绑定挂载

  

绑定挂载是将主机上已存在的目录或文件挂载到容器。
奥胪饭と搜奥胪饭と舜娲?

  

绑定挂载实际上是一个inode替换的过程。

  

绑定挂载机制主要作用,允许一个目录或者文件(不是整个设备)挂载到一个指定的目录上,而且在该挂载点上进行任何的操作,只是发生在被挂载的目录或者文件上,而原挂载点的内容则会被隐藏起来不受影响。

  

绑定挂载使用注意事项: