在上一篇中,我们讲到了Docker Volume的第一种方式,会自动帮你在Host上映射一个Lun作为容器存储,这一次,我们将采用更加暴力、直观的方式去实现Volume,涉及到的架构如下图所示:

【VMCloud云平台】拥抱Docker(五)Volume(2)_第1张图片

1、 先补充下上一篇中所没有讲到的,就是用作Volume的Container是可以同时挂载给其他Container的,比如下面这个例子:

wpsF771.tmp[4]

2、 接着我们进到vmctest02上看也是挂载了/vmctest:

wpsF772.tmp[4]

3、 Ok,测试完成,现在我们来看看第二种方式,我们先建立一个物理路径:

wpsF783.tmp[4]

4、 第二种方式就是利用物理路径直接映射,使用以下指令进行挂载:

wpsF784.tmp[4]

5、 接着,我们进入容器看同样的位置看看:

wpsF785.tmp[4]

6、 我们在容器的映射路径下创建一个文件夹:

wpsF786.tmp[4]

7、 我们在Host上看下是否同步到容器内的文件夹:

【VMCloud云平台】拥抱Docker(五)Volume(2)_第2张图片

8、 接着,我们再次进入容器,看下是否与host一致

wpsF788.tmp[4]

9、 现在就完成两个的Volume的方式,总结来说:

A、 通过dockerfile创建的Volume挂载实际上是在dockerhost下创建了一个挂载点

B、 通过-v并且映射路径的,有点类似于直连存储,直接将主机的Volume映射进了Container中


【VMCloud云平台】拥抱Docker(五)Volume(2)_第3张图片