Docker 容器的数据卷
文章目录
- 数据卷
- 背景
- 定义
- 数据卷作用
- 配置数据卷
- 数据卷容器
- 背景
- 配置数据卷容器
数据卷
背景
由于Docker 容器删除后,在容器中产生的数据也会随之销毁;Docker 容器和外部机器不可以直接交换文件;容器之间无法直接进行数据交互。所以需要一种方式来解决这三种问题,于是数据卷就出来了。数据卷就是将宿主机下的一个目录、文件与容器内的一个目录、文件进行绑定,当双方对文件、目录进行修改时对方都能同时感知到。
定义
- 数据卷是宿主机中的一个目录或文件
- 当容器目录和数据卷目录绑定后,双方的修改会立即同步
- 一个数据卷可以被多个容器同时挂载
- 一个容器也可以被挂载多个数据卷
数据卷作用
- 容器数据持久化
- 外部机器和容器间接通信
- 容器之间数据交换
配置数据卷
创建启动容器时,使用 –v 参数 设置数据卷
docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
注意事项:
- 目录必须是绝对路径
- 如果目录不存在,会自动创建
- 可以挂载多个数据卷
数据卷容器
背景
当多容器进行数据交换时,可以让多个容器挂载同一个数据卷,但是这种方式不利于容器管理,所以产生了数据卷容器。
配置数据卷容器
- 创建启动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