Volumes(数据卷)概述

# 说明

启动一个容器 busybox-1 。以他作为数据容器卷。

启动一个容器 busybox-2。

容器 busybox-1 将宿主机的 /mydata 挂载到了容器的 /contaion/data 中

可以理解为:容器 busybox-2 的根据容器 busybox-1 的数据卷,所有的数据卷指向一样

# 操作

# step1

# 启动一个容器 busybox-1,指定将宿主机中的 /mydata 挂载到容器 的 /contaion/data 中

#docker run -it --name busybox-1 -v /mydata:/contaion/data busybox

# step2

# 启动另一个容器 busybox-2,将容器一busybox-1 作为数据容器卷

#docker run -it --name busybox-2 --volumes-from busybox-1 busybox

# step3

# 宿主机修改 /mydata ,增加文件 test.txt ,并忘 test.txt 中填入内容 :hello test,验证两个容器都能够看到数据变更

  • 宿主机正佳文件
ZHIXING 13:37 # pwd
/mydata
ZHIXING 13:37 # ls
ZHIXING 13:37 # touch test.txt
ZHIXING 13:37 # echo "hello test" > test.txt
  • 数据容器卷 busybox-1
/contaion/data # cat test.txt 
hello test
  • 容器二 busybox-2
/contaion/data # cat test.txt 
hello test

# step4

# 终止数据容器卷 容器一:busybox-1,查看引用该数据容器卷的容器二 busybox-2 中的数据卷挂载正常

  • 终止数据容器卷 busybox-1
/contaion/data # exit
  • 查看容器二 busybox-2
/contaion/data # cat test.txt 
hello test

# step5

# 终止剩下的 busybox-2 ,不启动数据容器所在的容器,直接启动busybox-2 ,逻辑卷挂载一样存在。

# 结论

即使数据容器卷挂了,存在引用该数据容器卷的运行中的容器,一样会存在数据卷的挂载。

--volumn-from 命令,会把 数据容器中所有的-v 指令读取到 新启动的容器中。即使重启,逻辑卷挂载一样存在。

精彩内容推送,请关注公众号!
最近更新时间: 4/12/2020, 5:23:27 PM