大家好 我是积极向上的湘锅锅????????????
1. 数据卷概念
思考:
- Docker容器删除后,在容器中产生的数据还在吗?
答案是不在了,数据存放在容器中,如果将容器删除,数据也会被一并删除
- Docker容器和外部机器可以直接交换文件吗?
答案是不行,因为外部机器与docker内部之间是不互通的,但是外部机器和宿主机是互通的
- 容器之间想要进行数据交互?
可以通过数据卷的方式进行交互
数据卷:
- 数据卷是宿主机的一个目录或文件
- 当容器目录和数据卷目录绑定之后,对方的修改会立即同步,跟linux的挂载很相似,就像mount了一个u盘
- 一个数据卷可以被多个容器同时挂载
- 一个容器也可以挂载多个数据卷
数据卷作用:
- 容器数据持久化
- 外部机器和容器间通信
- 容器之间数据交换
2. 配置数据卷
- 创建启动容器时,使用-v 参数 设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件)...
- 1
注意事项:
- 目录必须是绝对路径
- 如果目录不存在,会自动创建
- 可以挂载多个数据卷
3.数据卷容器
多容器进行数据交换主要是俩种方式:
- 多个容器挂载同一个数据卷
- 数据卷容器,将一个容器作为载体,进行间接挂载
配置数据卷容器
- 创建启动c3数据卷容器,使用-v参数 设置数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash
- 1
- 创建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
- 1
- 2
4.数据卷小结
-
数据卷概念
– 宿主机的一个目录或文件 -
数据卷作用
– 容器数据持久化
– 客户端和容器数据交换
– 容器间数据交换 -
数据卷容器
– 创建一个容器,挂载一个目录,让其他容器继承该容器(–volume-from)
– 通过简单方式实现数据卷配置