一、说明
启动一个容器 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/mydataZHIXING 13:37 # lsZHIXING 13:37 # touch test.txtZHIXING 13:37 # echo "hello test" > test.txt
- 数据容器卷 busybox-1
/contaion/data # cat test.txthello test
- 容器二 busybox-2
/contaion/data # cat test.txthello test
step4
终止数据容器卷 容器一:busybox-1,查看引用该数据容器卷的容器二 busybox-2 中的数据卷挂载正常
- 终止数据容器卷 busybox-1
/contaion/data # exit
- 查看容器二 busybox-2
/contaion/data # cat test.txthello test
step5
终止剩下的 busybox-2 ,不启动数据容器所在的容器,直接启动busybox-2 ,逻辑卷挂载一样存在。
结论
即使数据容器卷挂了,存在引用该数据容器卷的运行中的容器,一样会存在数据卷的挂载。
—volumn-from 命令,会把 数据容器中所有的-v 指令读取到 新启动的容器中。即使重启,逻辑卷挂载一样存在。
