Pexels 上的 Aleksandar Pasaric 拍摄的图片
前言
Docker 镜像是由多个文件系统(只读层)叠加而成。当我们启动一个容器的时候,Docker 会加载只读镜像层并在其上(镜像栈顶部)添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏。当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失。
如何解决数据持久化问题?
为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念。简单来说,数据卷是存在于一个或多个容器中的特定文件或文件夹,它可以绕过默认的联合文件系统,以正常的文件或者目录的形式存在于宿主机上。其生存周期独立于容器的生存周期。
目前Docker提供了三种不同的方式将数据从宿主机挂载到