数据卷概念:
• 数据卷是宿主机中的一个目录或文件
• 当容器目录和数据卷目录绑定后,对方的修改会立即同步
• 一个数据卷可以被多个容器同时挂载
• 一个容器也可以被挂载多个数据卷
数据卷作用:
• 容器数据持久化
• 外部机器和容器间接通信
• 容器之间数据交换
1. 配置数据卷
# 创建启动容器时,使用 –v 参数 设置数据卷
docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
docker run -it --name=c1 -v /root/data:/root/data-container centos:7 /bin/bash
docker run -it --name=c2 -v /root/data1:/root/data-container1 -v /root/data2:/root/data-container2 centos:7 #挂载多个数据卷
# 查看当前容器挂载的数据卷
docker inspect 容器名称
注意事项:
- 目录必须是绝对路径
- 如果目录不存在,会自动创建
- 可以挂载多个数据卷
2. 配置数据卷容器
多容器进行数据交换的方式:
1. 多个容器挂载同一个数据卷
2. 通过数据卷容器
# 创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash
# 创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
注意:
创建c3时没有指定宿主机目录,所以需要查询容器的配置信息
docker inspect c3