首页 > 代码库 > Docker容器中的数据管理--RHEL7.3

Docker容器中的数据管理--RHEL7.3

容器中数据管理主要分为两种方式:数据卷 和 数据卷容器

  • 数据卷
  1.  数据卷是一个可供容器使用的特殊目录,它绕过文件系统,类似于Linux下对目录执行mount操作
  2. 创建一个数据卷
    在容器内创建数据卷挂载到/volume目录下,相当于容器间的共享目录:
    docker run -dti -v /volume1 --name test1 centos:ifconfig /bin/bash  
    
    将宿主机目录挂载到容器作为数据卷:
    docker run -dti -v /test:volume2:ro --name test2 centos:ifconfig /bin/bash
  • 数据卷容器
  1. 容器间共享数据,尤其是持续更新的数据时可以用此,因为任何一个相关容器对数据卷的修改都会立即生效,更新到每一个挂载的容器中
    容器1建数据卷c1:
    docker run -dti -v /volume1 --name "c1" centos:tag1 /bin/bash
    
    容器c2挂载c1的数据卷:
    docker run -dti --volumes-from c1 --name "c2" centos:tag2 /bin/bash
    
    容器c3挂载c1的数据卷:
    docker run -dti --volumes-from c1 --name "c3" centos:tag3 /bin/bash
  2. 容器c1数据卷volume中新建文件a.txt, 查看c2和c3中挂载的volume中已经存在文件a.txt
  • 删除数据卷容器
  1. 在c1、c2、c3中删除volume时报错,提示正在使用无法删除
  2. 即只要c1、c2、c3存在其中的一个数据卷就仍存在

 

Docker容器中的数据管理--RHEL7.3