Docker容器数据卷
什么是容器数据卷
如果数据都在容器中,如果容器一删除,那么数据就会丢失。我们希望数据存储在本地。
容器之间可以有一个数据共享的技术,Docker容器产生的数据,同步到本地,这就是卷技术!
目录的挂载,就是将容器中的数据,挂载到Linux上面。
使用数据卷
方式一:直接使用命令来挂载 -v
1.把容器中的home目录挂载到主机的home目录下的测试目录中
docker run -it -v /home/ceshi:/home centos /bin/bash
可以在-v /home/ceshi:/home 加上 ro 或者rw
rw、ro 和 不指定 的 区别
不指定(默认)
文件:
宿主机 修改该文件后容器里面看不到变化
容器 里面修改该文件,宿主机也看不到变化
文件夹:不管是宿主机还是容器内 修改、新增、删除文件 都会相互同步
ro
文件:容器内不能修改,会提示read-only
文件夹:容器内不能修改、新增、删除文件夹中的文件,会提示read-only
rw
文件:不管是宿主机还是容器内修改,都会相互同步;但容器内不允许删除,会提示Device or resource busy;宿主机删除文件,容器内的不会被同步
文件夹:不管是宿主机还是容器内修改、新增、删除文件,都会相互同步
2.查看是否挂载成功,
docker inspect 4319fba35522
这个就是挂载卷,Source是主机内的地址,Destination是容器内的地址。
一个添加了文件,另外一个目录也添加文件。
即使容器关闭了,在主机上添加文件,容器中的目录也会添加文件。
容器删除了,主机上的挂载文件不会删除。
具名挂载和匿名挂载的区别:
就是在-v后面有没有加主机的挂载地址,加了就是具名,没加就是匿名。
查看有多少个卷
docker volume ls
查看卷的具体信息
docker volume inspect 卷名