我对docker AUFS如何持久保存数据有些怀疑。据我所知,VOLUME中的数据可以是持久的,而其他位置则不能。这里做了一个例子,拉一个qqlxswpoi的mysql容器,然后执行以下步骤:
test
目录,该目录不应该在docker容器中持久化/opt
目录添加一个额外的文件结果
/var/lib/mysql
目录,我认为不应该在test
中保留。所以我是否都知道docker aufs是错的?AUFS
内部存档吗?这是我正在运行的docker命令
/var/lib/mysql
注意:我没有指定docker build -td --name mysql_test mysqlImageId
选项
根据我对docker的理解,我希望您描述的流程步骤得到以下结果:
首先:数据可以保存在docker容器中 - 事实上,容器上创建,删除或更新文件的任何操作都会触发AUFS将该文件写入容器层。对于删除或更新,这将隐藏较低图像层中相同文件的条目。当然,任何写入的数据只会持续到您移除容器为止。如果基于同一图像启动新容器,则此数据自然不存在。
此外,docker build的目的是从Dockerfile构建映像。你不能用它来启动一个容器。
关于你的观察