Mongodb赢得';从主机远程装载卷时,不要在Docker容器中启动
在Mac上,我从docker运行mongodb,并从主机上的卷装入数据目录,如下所示: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
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