docker-机器在重启虚拟机时删除文件(virtualbox)
docker-machine deletes files when restarting a vm (virtualbox)
这可能是初学者的问题,但令我惊讶的是,使用 docker-machine 重新启动虚拟机时文件被删除了。
示例:
$ 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!!!
谁能解释一下?这是docker-机器相关的吗?这是特定于 virtualbox 驱动程序的吗?如何避免这种情况?
谢谢!
据我了解,文件被擦除是因为大多数分区都使用 tmpfs 挂载(这可以通过 df
命令轻松查看。
这解释了为什么文件在重启后消失。
事实上,docker 位置 /var/lib/docker/
是指向 /mnt/sda1/var/lib/docker
的符号链接,这是一个标准分区,意味着图像、容器数据、卷和其他 docker 数据持久且安全。
虽然我希望能够使用 docker-machine 在创建的 VM 中快速进行测试和编辑 Dockerfile,但看起来 docker-machine 已经采用了生产设置(这很好)并且仅考虑 docker 数据。这意味着我们应该使用现有图像,而不是在这些 VM 中构建它们
希望这些想法对某人有所帮助...
这可能是初学者的问题,但令我惊讶的是,使用 docker-machine 重新启动虚拟机时文件被删除了。
示例:
$ 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!!!
谁能解释一下?这是docker-机器相关的吗?这是特定于 virtualbox 驱动程序的吗?如何避免这种情况?
谢谢!
据我了解,文件被擦除是因为大多数分区都使用 tmpfs 挂载(这可以通过 df
命令轻松查看。
这解释了为什么文件在重启后消失。
事实上,docker 位置 /var/lib/docker/
是指向 /mnt/sda1/var/lib/docker
的符号链接,这是一个标准分区,意味着图像、容器数据、卷和其他 docker 数据持久且安全。
虽然我希望能够使用 docker-machine 在创建的 VM 中快速进行测试和编辑 Dockerfile,但看起来 docker-machine 已经采用了生产设置(这很好)并且仅考虑 docker 数据。这意味着我们应该使用现有图像,而不是在这些 VM 中构建它们
希望这些想法对某人有所帮助...