Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb赢得';从主机远程装载卷时,不要在Docker容器中启动_Mongodb_Docker - Fatal编程技术网

Mongodb赢得';从主机远程装载卷时,不要在Docker容器中启动

Mongodb赢得';从主机远程装载卷时,不要在Docker容器中启动,mongodb,docker,Mongodb,Docker,在Mac上,我从docker运行mongodb,并从主机上的卷装入数据目录,如下所示: docker run -d -p 27017:27017 -v /Users/me/git/world/db:/var/lib/mongodb gzoller/world (/var/lib/mongodb是mongo配置文件存储数据的地方。) 我希望在主机上保留我的数据,即使我杀死了运行mongodb的容器 使用这个run命令tho,mongo不会在容器中启动。容器中的mongo日志包含以下剪辑: Mon

在Mac上,我从docker运行mongodb,并从主机上的卷装入数据目录,如下所示:

docker run -d -p 27017:27017 -v /Users/me/git/world/db:/var/lib/mongodb gzoller/world
(/var/lib/mongodb是mongo配置文件存储数据的地方。)

我希望在主机上保留我的数据,即使我杀死了运行mongodb的容器

使用这个run命令tho,mongo不会在容器中启动。容器中的mongo日志包含以下剪辑:

Mon Sep 14 18:27:59 [initandlisten] options: { command: [ "run" ], config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", journal: "true", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", unixSocketPrefix: "/var/run/mongodb" }
Mon Sep 14 18:27:59 [initandlisten] Assertion: 13651:Couldn't fsync directory '/var/lib/mongodb': errno:22 Invalid argument
我已将chmod a+rwx添加到要装载到的主机上的db目录

到目前为止,我认为我学到的是(至少在Mac上)只有容器中的root可以写入主机上的卷,mongo创建了自己的用户mongodb,我认为它不能写入我装载的卷


如何让mongo写入MacOS上装载的主机卷?

看起来这不是权限问题。如果查看源存储库(),则应按如下方式运行命令:

docker run -d -p 80:80 -p 5672:5672 -p 15672:15672 -p 27017:27017 -p 28017:28017 -p 11211:11211 -v /Users/me/git/world/db:/var/lib/mongodb -e HOST_IP=`docker-machine ip default` gzoller/world

让我知道结果。

我假设您使用OSX和boot2docker?OSX与Docker Machine同时使用,您是否找到了解决方案?我我也有同样的问题Mongo不是在容器中启动的。日志包含以下内容:。主机上的目录(db)是chmod 777。哦,您是存储库的所有者
gzoller/world