在上一篇中,我们讲到了Docker Volume的第一种方式,会自动帮你在Host上映射一个Lun作为容器存储,这一次,我们将采用更加暴力、直观的方式去实现Volume,涉及到的架构如下图所示:
1、 先补充下上一篇中所没有讲到的,就是用作Volume的Container是可以同时挂载给其他Container的,比如下面这个例子:
2、 接着我们进到vmctest02上看也是挂载了/vmctest:
3、 Ok,测试完成,现在我们来看看第二种方式,我们先建立一个物理路径:
4、 第二种方式就是利用物理路径直接映射,使用以下指令进行挂载:
5、 接着,我们进入容器看同样的位置看看:
6、 我们在容器的映射路径下创建一个文件夹:
7、 我们在Host上看下是否同步到容器内的文件夹:
8、 接着,我们再次进入容器,看下是否与host一致
9、 现在就完成两个的Volume的方式,总结来说:
A、 通过dockerfile创建的Volume挂载实际上是在dockerhost下创建了一个挂载点
B、 通过-v并且映射路径的,有点类似于直连存储,直接将主机的Volume映射进了Container中