1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具。
2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们关闭docker容器时是会消失的,但是其中产生的部分内容我们是希望能够把它给保存起来另作用途的,Docker将应用与运行环境打包成容器发布,我们希望在运行过程钟产生的部分数据是可以持久化的的,而且容器之间我们希望能够实现数据共享。通俗地来说,docker容器数据卷可以看成使我们生活中常用的u盘,它存在于一个或多个的容器中,由docker挂载到容器,但不属于联合文件系统,Docker不会在容器删除时删除其挂载的数据卷。
3.特点:
- 数据卷可以在容器之间共享或重用数据
- 数据卷中的更改可以直接生效
- 数据卷中的更改不会包含在镜像的更新中
- 数据卷的生命周期一直持续到没有容器使用它为止
4.docker挂载卷的集中情况
宿主机 | 容器 | 运行结果 |
文件存在 | 文件不存在 | 挂载成功,容器新增文件 |
目录存在 | 目录不存在 | 挂载成功,容器新增目录 |
| | |
文件存在 | 文件存在 | 挂载成功,容器内的文件内容被覆盖 |
目录存在 | 目录存在 | 挂载成功,容器内目录内容被覆盖 |
| | |
文件存在 | 目录存在 | 容器启动失败 |
目录存在 | 文件存在 | 容器启动失败 |
| | |
目录不存在 | 目录不存在 | 挂载成功,宿主机和容器内新建此目录 |
目录不存在 | 文件存在 | 容器启动失败 |
目录不存在 | 目录存在 | 挂载成功,容器内目录内容被覆盖(空) |