我对docker AUFS如何持久化数据有些疑问。据我了解, VOLUME 内部的数据可以持久保存,而其他位置则不能保存。在这里举一个例子,将一个dockerfile的mysql容器拉到那里,然后执行以下步骤:
test
目录下创建一个/opt
目录,该目录不应在docker容器中持久存在/var/lib/mysql
目录添加了一个附加文件结果
test
目录的容器中
我认为不应将其保留在AUFS
中。那么,我对docker aufs的了解是否有误? /var/lib/mysql
保留下来吗? 这是我正在运行的docker命令
docker build -td --name mysql_test mysqlImageId
注意 :我尚未指定-v
选项
答案 0 :(得分:1)
根据我对docker的理解,我期望您所描述的过程步骤会带来以下结果:
第一个:数据可以保存在Docker容器中-实际上,对容器执行的创建,删除或更新文件的任何操作都会触发 AUFS < / em>将该文件写入容器层。对于删除或更新,这将在较低的图像层中隐藏相同文件的条目。当然,任何写入的数据只会持续到您删除容器为止。如果您基于同一图像启动一个新容器,则此数据自然将不存在。
此外,Docker构建的目的是从Dockerfile构建映像。您不能使用它来启动容器。
关于您的观察