Docker安裝Mongo並設置用戶名密碼


命令

docker run -itd --name mongo --restart=on-failure:10 -p 27017:27017 -v /home/db  mongo --auth

--restart=on-failure:10:為mongo添加重啟策略,在非零狀態下退出,重試次數設置為10次
-p 27017:27017:映射容器服務的 27017 端口到宿主機的 27017 端口。外部可以直接通過 宿主機 ip:27017 訪問到 mongo 的服務。
--auth:需要密碼才能訪問容器服務。
-v:映射文件到本地文件夾,這樣數據庫文件就會在本地存儲,即使刪除了容器或鏡像至少數據庫文件還在,數據不會丟失。
-d:表示守護態運行

$ docker exec -it mongo mongo admin
# 創建一個名為 admin,密碼為 123456 的用戶。
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 嘗試使用上面創建的用戶信息進行連接。
db.auth('admin', '123456')
# 創建超級用戶
db.createUser({ user: "root" , pwd: "root", roles: ["root"]})

基於角色的權限說明

內置角色

數據庫用戶角色

read: 只讀數據權限
readWrite:學些數據權限

數據庫管理角色

dbAdmin: 在當前db中執行管理操作的權限
dbOwner: 在當前db中執行任意操作
userADmin: 在當前db中管理user的權限

備份和還原角色

backup
restore

跨庫角色

readAnyDatabase: 在所有數據庫上都有讀取數據的權限
readWriteAnyDatabase: 在所有數據庫上都有讀寫數據的權限
userAdminAnyDatabase: 在所有數據庫上都有管理user的權限
dbAdminAnyDatabase: 管理所有數據庫的權限

集群管理

clusterAdmin: 管理機器的最高權限
clusterManager: 管理和監控集群的權限
clusterMonitor: 監控集群的權限
hostManager: 管理Server

超級權限

root: 超級用戶

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM