容器与数据耦合的问题
1.不便于修改
2.数据不可复用
3.升级维护困难
1.数据卷作用? volume
用来实现容器与宿主机之间数据共享
2.数据卷特点
- 数据卷可以在容器之间共享和重用
- 对数据卷的修改会立即影响到对应容器
- 对
数据卷的更新修改, 不会影响镜像 - 数据卷默认会一直存在,即使容器被删除
3. docker操作数据卷指令

a.查看数据卷docker volume ls
b.查看某个数据卷的细节docker volume inspect 卷名
c.创建数据卷docker volume create 卷名
d.删除数据卷docker volume prunedocker volumen rm 卷名
4.挂载数据卷操作
1.自定义数据卷目录docker run -v 绝对路径 : 容器内路径
2.自动创建数据卷docker run-v 卷名(随便起的自动创建):容器内路径
数据卷挂载的方式对比

5. 示例, 创建mysql容器并挂载数据卷
提示:目录挂载与数据卷挂载的语法是类似的:
- -v [宿主机目录]:[容器内目录]
- -v[宿主机文件]:[容器内文件]
实现思路如下:
- 拉取mysql镜像,
docker pull mysql:5.7 - 创建目录
/tmp/mysql/data - 创建目录
/tmp/mysql/conf,将提供的hmy.cnf文件上传到/tmp/mysql/conf - 去DockerHub查阅资料,创建并运行MySQL容器,要求:
- 挂载
/tmp/mysql/data到mysql容器内数据存储目录 - 挂载
/tmp/mysql/conf/hmy.cnf到mysql容器的配置文件 - 设置MySQL密码
- 挂载

