我正在尝试运行一个docker实例,并不断遇到这个服务器。以下是我在尝试设置实例后得到的:
Starting instance ... done
Attaching to instance
instance | {"t":{"$date":"2020-12-08T14:06:42.033Z"},"s":"F", "c":"CONTROL", "id":20574, "ctx":"main","msg":"Error during global initialization","attr":{"error":{"code":38,"codeName":"FileNotOpen","errmsg":"Failed to open /var/log/mongodb/mongod.log"}}}
instance exited with code 1
文件权限为:
$ ls -l /var/log/mongodb/mongod.log
-rwxr-xr-x 1 mongodb mongodb 0 Dec 8 19:32 /var/log/mongodb/mongod.log
我还试过什么:
- 关闭并删除所有容器并删除生成缓存
- 正在从/var/lib/mongodb中删除所有.sock文件
- 卸载并重新安装docker
- 检查我的.conf文件上的端口是否未被占用
- 将用户
mongodb
作为所有者和组添加到lib和log-mogodb文件夹中
我不再确定这个问题是从哪里来的。希望有一些替代解决方案。
我遇到了同样的问题。我认为文件夹的权限可能有误。尝试设置日志和数据的权限777
如果您的mongodb运行良好&它突然停止工作,那么可能是与权限有关的错误。以下命令可用于将mongodb恢复到运行状态-
- 检查/var/lib/mongodb&var/log/mongodb&将其与官方安装指南相匹配
- 尽量按照官方网站的指导进行许可
- 如果您无法以这种方式解决问题或想要快速解决问题,您可以执行以下操作。它肯定会解决这个问题-
sudo chmod 777 -R /var/log/mongodb // not good from safety perspective. sudo chmod 777 -R /var/lib/mongodb // not good from safety perspective. sudo rm -rf /tmp/mongod-*.sock
和它们,您可以简单地重新启动服务器&使用以下命令检查状态-
sudo service mongod restart sudo service mongod status or sudo systemctl restart mongod sudo systemctl status mongod
如果这个答案对你有效,请投票。
我浏览了很多帖子,更改了权限,遵循了这一条并尝试了所有内容:
读取用户拥有的文件的权限被拒绝
我甚至一步一步地遵循了mongo的教程:
https://www.mongodb.com/docs/manual/tutorial/deploy-replica-set-with-keyfile-access-control/
对我来说什么都不管用。
这个:
sudo chown mongodb mongo.key
也不起作用,但最后,我想重新启动服务器,在之后
sudo service mongod start
一切都奏效了。
我不知道为什么这样做,但在我的三台服务器上重新启动非常完美。
这是我的mongod.conf
security:
authorization: enabled
keyFile: /var/lib/mongodb/mongo.key
谢谢。