docker · 2023年7月8日

docker下mongodbconfigsvr.pid: Permission denied 无法写入问题

-rw-r–r– 1 mongo mongo 348 Jul 8 05:25 config.log -rw-r–r– 1 root root 14 Jul 8 05:25 configsvr.pid

输出,/www/server/mongodb/log/目录下的文件的所有者和组都设置为mongo,而configsvr.pid文件的所有者和组是root

这可能是导致权限问题的原因。MongoDB进程以mongo用户身份运行,因此无法写入由root所有的文件。

为了解决这个问题,您可以尝试以下操作:

  1. 更改configsvr.pid文件的所有者和组为mongo
bash
chown mongo:mongo /www/server/mongodb/log/configsvr.pid

这将将文件的所有者和组都设置为mongo用户。

  1. 检查MongoDB的配置文件中的processManagement部分是否正确设置了pidFilePath

在MongoDB的配置文件中(通常是/etc/mongod.conf),查找名为processManagement的部分。确保pidFilePath的值设置为/www/server/mongodb/log/configsvr.pid

如果未设置或设置不正确,请将其更正为正确的路径:

processManagement:
pidFilePath: /www/server/mongodb/log/configsvr.pid
  1. 重新启动MongoDB:
sudo service mongodb restart

这将重新启动MongoDB并应用更改。

如果问题仍然存在,您可能需要检查其他配置文件或日志以获取更多详细信息,或者参考MongoDB的官方文档或社区支持获取帮助。