什么是容器数据卷
从docker的理念说起,docker将应用和环境打包成一个镜像,运行镜像(生成容器)就可以访问服务了。
- 如果数据都存在容器中,那么删除容器,数据就会丢失!需求:数据可以持久化
- MySQL容器删了,就相当于删库了。需求:MySQL数据可以本地存储
容器之间可以有一个数据共享的技术,docker容器产生的数据同步到本地或者别的地方。
这就是数据卷技术,就是目录挂载,将容器内的目录,挂载到虚拟机上或者Linux上
**目的:**实现容器数据的持久化和同步操作。容器间也可以数据共享
数据的覆盖问题
-
如果挂载一个
空的数据卷
到容器中的一个非空目录
中,那么这个目录下的文件会被复制到数据卷中。 -
如果挂载一个
非空的数据卷
到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。
这两个规则都非常重要,灵活利用第一个规则可以帮助我们初始化数据卷
中的内容。掌握第二个规则可以保证挂载数据卷后的数据总是你期望的结果。