初学者的问题,但我很惊讶在使用 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 中构建它们。
希望这些想法能帮助某人...