簡體   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