MongoDB docker错误:无法打开/var/log/MongoDB/mongod.log



我正在尝试运行一个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

我还试过什么:

  1. 关闭并删除所有容器并删除生成缓存
  2. 正在从/var/lib/mongodb中删除所有.sock文件
  3. 卸载并重新安装docker
  4. 检查我的.conf文件上的端口是否未被占用
  5. 将用户mongodb作为所有者和组添加到lib和log-mogodb文件夹中

我不再确定这个问题是从哪里来的。希望有一些替代解决方案。

我遇到了同样的问题。我认为文件夹的权限可能有误。尝试设置日志和数据的权限777

如果您的mongodb运行良好&它突然停止工作,那么可能是与权限有关的错误。以下命令可用于将mongodb恢复到运行状态-

  1. 检查/var/lib/mongodb&var/log/mongodb&将其与官方安装指南相匹配
  2. 尽量按照官方网站的指导进行许可
  3. 如果您无法以这种方式解决问题或想要快速解决问题,您可以执行以下操作。它肯定会解决这个问题-
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

谢谢。

最新更新