除了上一篇文章中说到我们可以使用bind mount进行容器中使用宿主机的文件或者目录,其实我们还可以在各个容器之中使用一个存放数据的容器作为我们的文件源。
这种容器之间共享数据文件的方式是volume container 共享数据。
首先我们先创建一个新的数据容器,这里一定要记得,是创建,因为我们这个数据容器本身并不需要进行启动的。
这里我们创建一个名为vc_data的数据容器,并且里面挂载一个config的目录
然后我们在进行业务容器启动的时候将数据容器的容器名通过命令–volumes-from挂载进去业务容器当中。
容器启动后我们进入容器中就可以看到里面已经通过数据容器将数据容器挂载的config目录同时挂载在我们的业务容器当中
我们修改宿主机的的config文件,可以同步看到业务容器中的内容也会相应的改变
使用volume container 有两个特点:
1.与 bind mount 相比,不必为每一个容器指定宿主机的挂载文件路径,所有挂载文件路径都在数据容器中定义好了,容器只需与 数据容器关联,实现了容器与宿主机的解耦。