6、容器数据卷
6.1 什么是容器数据卷
将数据存在本地!容器之间可以有一个数据共享的技术!Docker容器中产生的数据同步到本地!
目录的挂载,将容器内的目录挂载到Linux上面!
目的:容器的持久化和同步操作!容器间的数据可以共享。
6.2 使用
方式一:直接使用命令挂载 -v
docker run -it -v 主机目录:容器内目录 #双向绑定
6.3 具名和匿名挂载
匿名挂载
-v 容器内路径
docker run -d -p -v /etc/nginx nginx #测试,匿名挂载
docker volume ls #查看卷的情况
具名挂载
docker run -d -p -v juming-nginx:/etc/nginx nginx --name nginx02 #不加“/”为具名
docker volume inspect 具名xx #查看具名卷的信息,当没有指定目录时,默认为在/var/lib/docker/volumes/xx/_data
#可以通过具名挂载方便的找到一个卷
判断挂载方式
-v 容器内路径 #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v /宿主机路径:容器内路径 #指定路径挂载
扩展
#通过-v 容器内路径:ro rw 改变读写权限
ro #制度
rw #可读可写
#一但设置了容器权限,容器对我们挂载出来的内容就有限定了
docker run -d -p -v juming-nginx:/etc/nginx:ro nginx --name nginx02
#ro 说明只能通过宿主机来操作,容器内无法操作
实现数据同步
#进行测试,启动3个容器
docker run -it --name docker01 cyyz/centos:1.0 #容器1
docker run -it --name docker02 --volumes-from docker01 cyyz/centos:1.0 #容器2,通过--volumes-from进行目录或文件挂载
docker run -it --name docker03 --volumes-from docker01 cyyz/centos:1.0 #容器3
#当删除容器01后,02,03数据依旧在,数据实际存放在本地
结论
容器之间配置信息的传递,数据卷容器的声明周期一直持续到容器使用为止。
感谢狂神老师的视频支持点击跳转