我在OSX上使用Docker Toolbox。
我创建了一个用于存储持久性数据的数据卷容器:https : //docs.docker.com/userguide/dockervolumes/#creating-and-mounting-a-data-volume-container。
我检查了这些数据确实存储在boot2docker VM(由docker-machine创建)上,而不是存储在容器上,以便将其持久化。但是,“ docker-machine restart”会清除虚拟机上的此自定义数据。
我找不到正在发生的事情的文档。我发现有一个论坛帖子提到/ var / lib / docker中的数据将被保留,但我找不到任何官方文档说明这一点,考虑到上述持久性存储指南未使用此路径,甚至提到该信息,这似乎也很奇怪。您的数据将被删除。
这是预期的吗?如果是这样,那么在存储持久数据的正确路径上是否有任何官方文档?
编辑:添加失败的senario示例
$ docker-machine ssh alt
docker@alt:~$ docker run -v /data:/var/lib/mysql --name mydata busybox sh -c "echo 'hello' > /var/lib/mysql/hello"
docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"
hello
docker@alt:~$ exit
$ docker-machine restart alt
Starting VM...
$ docker-machine ssh alt
docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"
cat: can't open '/var/lib/mysql/hello': No such file or directory