【发布时间】:2016-02-13 01:20:08
【问题描述】:
我是容器和 docker 新手,请耐心等待。我试图让 mongo 在 Synology NAS 上运行,其中 db 文件存储在共享文件夹中(不同于创建的 docker 文件夹)。所有用户都有完全的读/写权限,但以下错误不断出现。
STORAGE [initandlisten] exception in initAndListen std ::exception:boost::filesystem::status: Permission denied: "/data/db/storage.bson", terminating
这就是我设置容器文件夹结构的方式。我认为问题是虚拟驱动器映射的结果,但我不确定。与往常一样,我们将不胜感激任何帮助。
编辑:在下面添加 /share/data/db 的权限。
【问题讨论】:
-
您可能遇到了 UID 问题,因为 mongo 没有以 DSM 知道的用户身份运行,您能否显示您为
/share/data/db配置的权限? -
@KevinBurdett 谢谢凯文 - 我在该文件夹中添加了“所有人”的读/写功能,现在它正在工作。拥有广泛的许可方案似乎并不理想。你知道 DSM 使用什么用户来运行 docker 吗?
-
没问题,问题不在于用户 DSM 使用的是什么用户,而是 mongo 服务在容器内部使用的用户。我不熟悉那个容器,所以我不能说。最终,容器是一个虚拟机并且有自己的用户。这些用户通常不会映射到主机上的有效用户。如果服务以
root运行,我认为 Docker 会处理这个问题(或者可能是因为 root 总是具有相同的 UID?)。看看这个帖子,很详细:*.com/questions/23544282/…
标签: mongodb docker nas synology