显然,根据要点和Sev(
sevastos),mongo不支持通过VirtualBox共享文件夹安装卷:
参见mongoDB Productions
Notes:
MongoDB需要一个
fsync()在目录上支持的文件系统。
例如,HGFS和Virtual Box的共享文件夹不支持此操作。所有最简单的解决方案以及数据持久性的正确方法是“
数据量” :假设您有一个具有VOLUME [“
/data”] 的容器
# Create a data volumedocker create -v /data --name yourData busybox true# and usedocker run --volumes-from yourData ...
这并不总是理想的(但下面的内容适用于Mac,作者:Edward Chu(
chuyik)):
我认为这不是一个好的解决方案,因为数据只是移到了另一个容器上,对不对?
但是它仍然位于容器内,而不是本地系统(mac磁盘)内。我发现了另一个解决方案,即使用sshfs在boot2docker vm和您的mac之间映射数据,这可能会更好,因为数据没有存储在linux容器中。
创建一个目录以在boot2docker内部存储数据:
boot2docker sshmkdir -p /mnt/sda1/dev
使用sshfs链接boot2docker和mac:
echo tcuser | sshfs docker@localhost:/mnt/sda1/dev <your mac dir path> -p 2022 -o password_stdin
运行安装了mongo的映像:
docker run -v /mnt/sda1/dev:/data/db <mongodb-image> mongod
在相应的boot2docker问题指出来泊坞窗问题12590(问题与-
v共享文件夹中的1.6#12590) ,这点工作的周围
使用双斜线 。
使用双斜杠似乎有效。我在本地检查它,它可以工作。
docker run -d -v //c/Users/marco/Desktop/data:/data <image name>
它也适用于
docker run -v /$(pwd):/data



