数据卷挂载,那可不可以有一个容器来负责来提供给其他容器提供数据卷挂载,这其实就是一个数据卷容器。
举个例子我建一个容器
# 通过我们刚刚自己生成的有两个volume的镜像来启动一个容器,也可以用别的有挂载镜像 docker run -it -d --name docker01 oskari/centos:1.0 # 作为数据卷容器
ps:如果没有挂载容器的镜像,可以参照以下的链接来构建你自己的有挂载的镜像。
创建一个简单的dockerfile来创建镜像
我们知道这个容器肯定是有自己的挂载的宿主机目录的。我们建一个同样的centos容器直接以这个docker01作为数据卷。
*** 作如下:
docker run -it --name docker02 --volumes-from docker01 zhangpeng/centos:1.0
我们这时候就有两个容器,我们看一下他们的挂载;
docker01
docker02的挂载目录:
可以看到两个挂载的内容都是一样的,自然他们的文件也都会放在同一个地方。
可以多次使用–volumes-from参数来从多个容器挂载多个数据卷。还可以从其他已经挂载了容器卷的容器来挂载数据卷。
使用–volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态。
如果删除了挂载的容器(docker01,docker02 甚至还可以更多的docker03 docker04),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用docker rm -v命令来指定同时删除关联的容器。
也就是即使全删掉不显式删除,这些容器挂载的数据卷还在。
容器数据卷的用处不止于此,实际上还可以备份,还可以恢复可以看一下这个文章最后的相关部分。
数据容器卷
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)