【问题标题】:How to enable access control for MongoDB with Docker (Plesk)如何使用 Docker (Plesk) 为 MongoDB 启用访问控制
【发布时间】:2018-10-21 00:53:17
【问题描述】:

如何为我的 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 Onyx 17.8.11 更新 25
  • 主机:CentOS 7.5.1804
  • 容器:Ubuntu 16.04
  • Docker 版本 18.06.1-ce,构建 e68fc7a

【问题讨论】:

    标签: mongodb docker plesk access-control


    【解决方案1】:

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

    如果您想使用自己的 mongo 配置文件,请将其放在容器中的 /etc/mongo/mongod.conf 之类的位置(带有卷或 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 命令。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2014-12-25
      • 2023-04-11
      相关资源
      最近更新 更多