Docker学习笔记三(容器的数据卷)
一、数据卷的概念
- 思考
- Docker删除容器之后,在容器内的产生的数据也会随之销毁。
- Docker容器和外部机器如何交换数据。
- 容器之间如何数据交互。
- 数据卷
- 数据卷是宿主机中的一个目录或文件。
- 当容器的目录和数据卷目录绑定后,对方的修改会立即同步。
- 一个数据卷可以被多个容器同时挂载。
- 一个容器也可以挂载多个数据卷。
- 数据卷的作用
- 容器数据持久化
- 外部机器和容器间接通信
- 容器之间数据交换
二、配置数据卷
-
创建启动容器时,使用-v参数设置数据卷
sudo docker run .... -v 宿主机目录(文件):容器内目录(文件)...
-
注意事项
1、目录必须是绝对路径
2、如果目录不存在,会自动创建
3、可以挂载多个数据卷
可以看到在宿主机下的data文件中创建了maze.txt后,在容器中的data_container中也会出现maze.txt
-
数据卷容器
多个容器如何进行数据交换?
-
多个容器挂载同一个数据卷
-
使用数据卷容器
使用数据卷容器的方式是指构建一个容器,该容器挂载了数据卷,被称为数据卷容器,当其他的容器挂载在这个数据卷容器下时,也可以访问该数据卷。同时,当数据卷容器挂了时,也可以继续访问该数据卷。
配置数据卷方法
-
创建启动c3数据卷容器,使用-v参数 设置数据卷
sudo run -it --name=c3 -v /volume centos /bin/bash
-
创建c1、c2容器,使用–volumes-from参数,设置数据卷
sudo run -it --name=c1 --volumes-from c3 centos /bin/bash sudo run -it --name=c2 --volumes-from c3 centos /bin/bash
-
数据卷小结
- 数据卷概念
- 宿主机的一个目录或文件
- 数据卷的作用
- 容器数据持久化
- 客户端和容器数据交换
- 容器间数据交换
- 数据卷容器
- 创建一个容器,挂载一个目录,让其他容器继承该容器(–volumes-from)
- 通过简单方式实现数据卷配置
- 数据卷概念