一尘不染

在共享文件夹上运行Mongo的Boot2Docker(在Windows上)(不支持此文件系统)

docker

我正在尝试使用Boot2Docker在Windows上使用共享文件夹来启动Mongo容器。开始使用时,run -it -v /c/Users/310145787/Desktop/mongo:/data/db mongo我在容器内收到一条警告消息,内容为:

WARNING: This file system is not supported.

启动mongo后立即关闭。

有关如何解决此问题的任何提示或技巧?


阅读 273

收藏
2020-06-17

共1个答案

一尘不染

显然,根据要点Sev(sevastos,mongo不支持通过VirtualBox共享文件夹安装卷:

参见mongoDB Productions
Notes

MongoDB需要一个fsync()在目录上支持的文件系统。
例如,HGFS和Virtual Box的共享文件夹不支持此操作。

所有最简单的解决方案以及数据持久性的正确方法是“
数据量”

假设您有一个具有VOLUME [“ /data”] 的容器

# Create a data volume
docker create -v /data --name yourData busybox true
# and use
docker run --volumes-from yourData ...

这并不总是理想的(但下面的内容适用于Mac,作者:Edward Chu(chuyik):

我认为这不是一个好的解决方案,因为数据只是移到了另一个容器上,对不对?
但是它仍然位于容器内,而不是本地系统(mac磁盘)内。

我发现了另一个解决方案,即使用sshfs在boot2docker vm和您的mac之间映射数据,这可能会更好,因为数据没有存储在linux容器中。

创建一个目录以在boot2docker内部存储数据:

boot2docker ssh
mkdir -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
2020-06-17