繁体   English   中英

如何使用Docker对MongoDB启用访问控制(Plesk)

[英]How to enable access control for MongoDB with Docker (Plesk)

如何为我的MongoDB服务器启用访问控制? 此行显示在日志中:

CONTROL [initandlisten] **警告:未为数据库启用访问控制。 I CONTROL [initandlisten] **对数据和配置的读写访问不受限制。

我使用Plesk启动MongoDB,但是我已经阅读了他们的手册,但是它没有告诉我如何启用访问控制,因为我只能通过Plesk控制面板添加环境变量和卷映射,例如/ data / db和/ data / configdb。

我可以使用没有凭据的终端登录来创建超级管理员和所有角色,但这并不能解决无限制的访问。

我还可以通过以下方式访问容器中的文件:

docker exec -it mongo /bin/bash

我看到以下目录:docker-entrypoint-initdb.d,但我不知道该放在哪里。 另外,我安装在容器内的软件包(如vim)不会保留,并且在重启后会丢失。

此外,我不知道Plesk在哪里存储docker-compose.yml文件。 这是仅属于图像文件内部的文件吗?

如果我更改/etc/mongod.conf并添加以下内容:

security: authorization: enabled

重新启动后什么都没有发生,请问我可以帮忙吗?

系统信息:

  • Plesk y玛瑙17.8.11更新25
  • 主机:CentOS 7.5.1804
  • 容器:Ubuntu 16.04
  • Docker版本18.06.1-CE,内部版本e68fc7a

您应该阅读库/ mongo映像文档: https : //hub.docker.com/_/mongo/

如果要使用自己的mongo配置文件,请将其放在/etc/mongo/mongod.conf之类的容器中(带有volume或COPY)。 之后,您必须告诉mongo将其用作配置文件:

$ docker run --config /etc/mongo/mongod.conf

或者在docker-compose中:

services:
    mongo:
        image: mongo
        command: --config /etc/mongo/mongod.conf

对于Plesk docker-compose.yml的位置,我无济于事,请尝试使用find命令。

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM