Docker容器的数据卷
一、数据卷的概念及作用
1、数据卷的概念:
(1)、数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方的修改会立即同步。
(2)、一个数据卷可以被多个容器同时挂载,一个容器也可以被挂载多个数据卷。
2、数据卷的作用:
(1)容器数据的持久化,当docker容器删除后,在容器中产生的数据也会随之销毁。但宿主机中的数据卷还保存着。
(2)外部机器通过数据卷可以与容器间接通信。
(3)容器之间可以通过数据卷进行数据交换。
二、配置数据卷
创建启动容器时,使用-v参数设置数据卷:
sudo docker run ... -v <宿主机目录(文件)>:<容器内目录(文件)> ...
注意事项:
1、目录必须时绝对路径。
2、如果目录不存在,会自动创建。
3、可以挂载多个数据卷。
4、两个容器可以挂载同一个数据卷,从而实现容器之间通信。
三、配置数据卷容器
创建一个容器,挂载一个目录,让其他容器继承自该容器(--volumes-from),该容器就成为数据卷容器。
1、创建启动c3数据卷容器,使用 -v参数 设置数据卷
sudo docker run -it --name=c3 -v /volume centos:7 /bin/bash
2、创建启动c1、c2容器,使用 --volumes-from 参数 设置数据卷
sudo docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
sudo docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash