1.数据卷概念及作用:
-
作用:
- 容器数据持久化
-
客户端和容器数据交换
- 容器间数据交换
-
概念:
-
数据卷是宿主机中的一个目录或文件
-
当容器目录和数据卷目录绑定后,对方的修改会立刻同步
-
一个数据卷可以被多个容器同时挂载
-
一个容器卷也可以被挂载多个数据卷
-
图示:
-
2.配置数据卷:
1.一个容器挂载一个目录:
- 创建启动容器时,使用 -v 参数 设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件) centos:7 命令
例:
docker run -it --name=c1 -v /root/data:/root/data_container centos:7
2.一个容器挂载多个目录
- 创建启动容器时,一个容器挂载多个目录:
docker run ... \
-v 宿主机目录(文件):容器内目录(文件) \
-v 宿主机目录(文件):容器内目录(文件) \
centos:7 命令
3.两个容器挂载同一个目录:
-
创建2个容器,分别被同一个目录挂载(实现两个容器之间的互通)
docker run -it --name==red3 -v /root/data:/root/data centos:7 docker run -it --name==red4 -v /root/data:/root/data centos:7
4.注意事项:
- 目录必须是绝对路径
- 如果目录不存在,会自动创建
- 可以挂载多个数据卷
3.配置数据卷容器:
-
概念:
创建一个容器,挂载一个目录,让其他容器继承自该容器
-
创建启动c3数据卷容器,使用 -v 参数 设置数据卷(宿主机目录没有设置,会自动分配一个);/volume为数据卷容器目录
docker run -it --name=容器名 -v /volume centos:7 初始化命令 -
创建启动c1,c2容器,使用 --volumes-from 参数 设置数据卷;--volumes为容器目录volume
docker run -it --name=c1 --volumes-from c3 centos:7 初始化命令 docker run -it --name=c2 --volumes-from c3 centos:7 初始化命令 -
\