美文网首页
Docker数据管理二(Data volume containe

Docker数据管理二(Data volume containe

作者: 平头哥2 | 来源:发表于2019-03-01 15:03 被阅读0次

Docker Data Volume

什么是数据卷容器?
如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。

一、创建一个数据卷容器

启动一个名为 data01 容器,此容器包含两个数据卷/var/volume1和/var/volume2(这两个数据卷目录是在容器里的,容器创建的时候会自动生成这两目录)

[root@langzi01 ~]# docker run -t -i -v /var/volume1 -v /var/volume2 --name data01  centos /bin/bash
 
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
 
[root@langzi01 ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
2f5f9417b073        centos              "/bin/bash"         22 seconds ago      Up 22 seconds                           data01

查看宿主机上与数据卷对应的目录路径

[root@langzi01 ~]# docker inspect data01|grep /var/lib/docker/volumes/
                "Source": "/var/lib/docker/volumes/e1077349e5f6771faa90bc3a84530b605910b108e214be03250c8dc46ac5af2d/_data",
                "Source": "/var/lib/docker/volumes/a34f7acace923e4a5acd687b79a06c164bbf7b6ddb5f552055eeab1ff6055a0b/_data",

查看文件目录里面有没有内容

[root@2f5f9417b073 var]# cd /var/volume
volume1/ volume2/ 
[root@2f5f9417b073 var]# ls /var/volume1
[root@2f5f9417b073 var]# ls /var/volume2

存放内容

[root@2f5f9417b073 var]# echo "this is volume1" > /var/volume1/test1
[root@2f5f9417b073 var]# echo "this is volume2" > /var/volume2/test2

创建data02容器,挂载data01容器中的数据卷并查看内容

[root@langzi01 ~]# docker run -t -i --rm --volumes-from data01 --name data02 centos /bin/bash
[root@127de2f57a5b /]# cat /var/volume1/test1 
this is volume1
[root@127de2f57a5b /]# cat /var/volume2/test2 
this is volume2

创建data03容器,挂载data02容器中的数据卷并查看内容

[root@langzi01 ~]# docker run -t -i --rm --volumes-from data02 --name data03 centos /bin/bash
[root@06f21b81bf7c /]# cat /var/volume1/test1
this is volume1
[root@06f21b81bf7c /]# cat /var/volume2/test2 
this is volume2

完。。

相关文章

网友评论

      本文标题:Docker数据管理二(Data volume containe

      本文链接:https://www.haomeiwen.com/subject/mhmduqtx.html