Docker-machine在重新启动VM(VirtualBox)时删除文件


这可能是

初学者的问题,但我很惊讶在使用 docker 机器重新启动 vm 时文件被删除。

例:

$ docker-machine create --driver virtualbox test
$ docker-machine ssh test
docker@test$ vi myfile
docker@test$ exit
$ docker-machine stop test
$ docker-machine start test
$ docker-machine ssh test
docker@test$ ls # empty!!!

谁能解释一下?这个码头工人机器有关系吗?这是特定于虚拟盒子驱动程序的吗?如何避免这种情况?

谢谢!

据我了解,文件被删除是因为大多数分区都是使用 tmpfs 挂载的(这可以通过 df 命令轻松看到。

这解释了为什么重新启动后文件会消失。

事实上,docker 位置/var/lib/docker/是一个指向标准分区/mnt/sda1/var/lib/docker符号链接,这意味着映像、容器数据、卷和其他 docker 数据是永久和安全的。

虽然我希望能够使用 docker 机器在创建的 VM 中快速进行测试和编辑 Dockerfile,但看起来 docker 机器采用了生产设置(这很好(,并且只考虑 docker 数据。这意味着我们应该使用现有映像,而不是在这些 VM 中构建它们。

希望这些想法能帮助某人...

最新更新