前言
继docker容器、镜像之后,数据卷知识整理新鲜出炉。
内容
是什么
数据卷是存在一个或多个容器中的特定文件或文件夹,这个目录能够独立于联合文件系统的形式在宿主机中存在,并为数据的共享和持久提供一下便利。
为什么
首先我们先了解一下docker的文件系统是如何工作的。docker镜像存储在图层中,这些图层只有最下面是可写层,其他都是只读层。当容器在镜像上运行时,docker会读取只读镜像并添加一个读写层在顶部。如果正在运行的容器被修改,该文件将被拷贝出底层的只读层到最顶层的读写层。在读写层中旧版本文件隐藏于该文件之下,但并没有被破坏,也就是说他仍然在镜像以下。但当docker容器删除,重新启动镜像,这时将开启一个没有任何修改的新容器,之前的哪些更改会丢失。这也使得docker可以提高镜像构建、存储和分发的效率,也是它轻量化的原因。
这时,引入数据卷机制。它能够独立于联合文件系统的形式在宿主机中存在,并为数据的共享和持久提供便利。