我是容器和 docker 的新手,所以请多多包涵。我正在尝试在 Synology NAS 上启动并运行 mongo,其中 db 文件存储在共享文件夹中(不同于创建的 docker 文件夹)。所有用户都具有完全读/写访问权限,但不断出现以下错误。
initAndListen 中的 STORAGE [initandlisten] 异常 std::exception:boost::filesystem::status: Permission denied: "/data/db/storage.bson", terminating
这就是我设置容器文件夹结构的方式。我认为问题是虚拟驱动器映射的结果,但我不确定。一如既往,任何帮助将不胜感激。
编辑:在下面添加/share/data/db 的权限。
最佳答案
如果是Synology相关的问题,我来给个Synology相关的回答吧。我决定在我的 NAS 上玩 docker 并陷入同样的问题。 我真的不喜欢为每个人授予权限,我找到了一个解决方案,如何通过 Synology NAS 上的 docker 使 mongo 工作。对于主机上的共享文件夹,我为 Owner 组添加了一个Read/Write 权限记录。在我的例子中,该文件夹的名称是“mongo1”(这个映射到容器内的“/data/db”路径)。
似乎,mongo 接触了这个目录并在启动期间更改了它的所有者(UID 更改为 999)。该用户在主机上不存在,但无论如何都没有关系。由于新设置的权限规则,启动过程可以继续。
我希望有一天它能对某人有所帮助。干杯! :)
关于mongodb - 在 Synology NAS 上通过 docker 启动 mongo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374949/