Docker使用数据卷容器数据的传递

1.通过dockerfile创建有数据卷的容器并命名为:dvt1:

Dockerfile内容如下:

FROM ubuntu:16.04

VOLUME ["/datavolume1","/datavolume2"]

CMD /bin/bash

进入容器:

[root@node3 dockerfile3]# docker run -it --name dvt1 three/dvt

这时可以看到容器中有两个数据卷datavolume1  datavolume2:

root@3404e088a973:/# ls

bin  boot  datavolume1  datavolume2  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

2.在其中一个数据卷中新建一个one.txt的文件

root@4306d22be80a:/datavolume1# touch ont.txt

3.运行一个容器将其挂载到第一个容器中,即:dvt1

# docker run -it --name dvt2 --volumes-from dvt1 ubuntu /bin/bash

可以查看到数据卷中有容器dvt1新建的文件:one.txt

root@219b9cc8e295:/datavolume1# ls

ont.txt

并在这个目录下创建一个文件:two.txt

root@219b9cc8e295:/datavolume1# touch two.txt

root@219b9cc8e295:/datavolume1# ls

ont.txt  two.txt

4.再运行一个容器dvt3将其挂载到第一个容器dvt1中:

root@node3 ~]# docker run -it --name dvt3 --volumes-from dvt1 ubuntu /bin/bash

进入数据卷可以查看到容器dvt1 和 dvt 2创建的文件。

root@f94333a7ba48:/# cd datavolume1

root@f94333a7ba48:/datavolume1# ls

ont.txt  two.txt

#即使数据卷容器被删除,另外一个容器中数据卷的目录仍然存在。

 

查看数据卷挂载的详细信息:

#docker inspect --format=”{{.volumes}}” dvt2

猜你喜欢

转载自blog.csdn.net/qq_24036403/article/details/88419725