【Docker容器的数据管理】-【Docker数据卷容器】- 挂在数据卷容器的方法
2017-07-03 03:15
936 查看
Docker数据卷容器-挂在数据卷容器的方法
启动一个容器dvt4,作为数据卷容器
root@ubuntu:~#docker run -it --name dvt4 dvtroot@d871b4161237:/# ls
bin boot datavolume1 datavolume2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
#写入一个文件dvt4_1
root@d871b4161237:/# touch /datavolume1/dvt4_1
#查看文件
root@d871b4161237:/# ls /datavolume1
dvt4_1
root@d871b4161237:/# exit
root@ubuntu:~#
启动一个容器dvt5来挂在我们刚刚创建的数据卷容器dvt4
root@ubuntu:~# docker run -it --name dvt5--volumes-from dvt4 ubuntu /bin/bashroot@463ddf73907d:/# ls
bin boot datavolume1 datavolume2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@463ddf73907d:/# ls /datavolume1
dvt4_1
root@463ddf73907d:/#
root@463ddf73907d:/#touch /datavolume1/dvt5_1
root@463ddf73907d:/# ls /datavolume1
dvt4_1 dvt5_1
root@463ddf73907d:/#
root@463ddf73907d:/# exit
exit
root@ubuntu:~#
启动一个容器dvt6挂载数据卷容器dvt4
root@ubuntu:~#docker run -it --name dvt6 --volumes-from dvt4 ubuntu /bin/bashroot@e91c3a60830b:/# ls
bin boot datavolume1 datavolume2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@e91c3a60830b:/# ls /datavolume1
dvt4_1 dvt5_1
root@e91c3a60830b:/#
root@e91c3a60830b:/# exit
exit
root@ubuntu:~#
查看容器dvt5和dvt6的数据卷信息
root@ubuntu:~#docker inspect --format="{{.Volumes}}" dvt5map[/datavolume1:/var/lib/docker/vfs/dir/e07075e7acc1f048a1c67b10f1a70fc514a9c32cca8f0461fd9db418dfaf655f/datavolume2:/var/lib/docker/vfs/dir/f760160b6339c855d56b66626d9f5952506b51824cc1eba2406d893d167cbc78]
root@ubuntu:~#docker inspect --format="{{.Volumes}}" dvt6
map[/datavolume1:/var/lib/docker/vfs/dir/e07075e7acc1f048a1c67b10f1a70fc514a9c32cca8f0461fd9db418dfaf655f/datavolume2:/var/lib/docker/vfs/dir/f760160b6339c855d56b66626d9f5952506b51824cc1eba2406d893d167cbc78]
root@ubuntu:~#
说明:
1)发现容器dvt5和dvt6的数据卷信息是同一个;
2)实现的数据卷共享;
删除数据卷容器dvt4
root@ubuntu:~#docker rm dvt4dvt4
重启容器dvt5
root@ubuntu:~#docker restart dvt5
dvt5
root@ubuntu:~#docker attach dvt5
root@463ddf73907d:/# ls
bin boot datavolume1 datavolume2 dev dvt5_2 etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@463ddf73907d:/#touch datavolume1/dvt5_2_1
root@463ddf73907d:/#ls datavolume1/
dvt4_1 dvt5_1 dvt5_2 dvt5_2_1
root@463ddf73907d:/# exit
exit
root@ubuntu:~#
说明:
1)删除数据卷容器dvt4;
2)重启容器dvt5;
3)进入容器dvt5,依旧可以访问数据卷;
4)说明数据卷,只是一个传递的作用;
启动一个数据卷容器dvt8
root@ubuntu:~#docker run --name dvt8 dvt启动一个容器dvt9挂在数据卷容器dvt8
root@ubuntu:~#docker run --name dvt9 -it --volumes-from dvt8 ubuntu /bin/bashroot@13f39fc4e69b:/# ls
bin boot datavolume1 datavolume2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@13f39fc4e69b:/#touch /datavolume1/dvt9_1
root@13f39fc4e69b:/# ls /datavolume1
dvt9_1
root@13f39fc4e69b:/#
root@13f39fc4e69b:/# exit
exit
root@ubuntu:~#
删除数据卷容器dvt8,同时加入-v
root@ubuntu:~#docker rm -v dvt8dvt8
root@ubuntu:~#
说明:
1)删除容器,加入-v,说明删除容器同时删除数据卷;
重启容器dvt9并访问
root@ubuntu:~#docker restart dvt9root@ubuntu:~#docker attach dvt9
root@13f39fc4e69b:/# ls
bin boot datavolume1 datavolume2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@13f39fc4e69b:/#touch datavolume1/dvt9_2
root@13f39fc4e69b:/# ls datavolume1
dvt9_1 dvt9_2
root@13f39fc4e69b:/#
说明:
1)删除了数据卷容器和对应的数据卷后;
2)发现容器依旧可以访问数据卷;
3)这是因为如果还有一个容器在使用数据卷,然么它依然有效;
相关文章推荐
- Docker容器数据管理4
- Docker学习笔记四:在容器中管理数据
- 【Docker容器的数据管理】- 使用Dockerfile构建包含数据卷的镜像
- [docker] 管理docker容器中的数据
- 初识docker-管理容器数据
- Docker--容器中数据管理--RHEL7.2
- Docker 容器数据管理:挂载、备份、恢复
- 【Docker容器的数据管理】-【Docker数据卷的备份和还原】- 数据卷备份
- Docker容器数据管理6
- Docker整理之Docker容器连接(link)与Docker容器数据管理(volumn)(四)
- Docker容器数据管理2
- Docker学习笔记四:在容器中管理数据
- docker的数据卷管理方法
- docker 容器数据管理
- Docker入门:概念 镜像 容器 仓库 数据管理
- Docker跨主机容器互传数据问题及解决方法
- Docker容器数据管理1
- Docker学习笔记:容器数据管理,链接容器,构建私有库
- Docker容器数据的管理