Docker安裝部署單節點MongoDB

2021-10-18 14:44:05 字數 3054 閱讀 4639

docker pull docker.io/mongo:latest
docker run --name mongo -p 27017

:27017

-d docker.io/mongo:latest --auth

#首先建立資料夾用於掛載目錄

mkdir -p /docker/mongo/

#賦予許可權

chmod 777 /docker/mongo/conf

chmod 777 /docker/mongo/data

#然後直接啟動容器

docker run --name mongo -d \

-p 27018:27017 \

--privileged=true \

-v /docker/mongo/data:/data/db \

docker.io/mongo:latest \

--auth

#首先建立資料夾用於掛載目錄

mkdir -p /docker/mongo/

#賦予許可權

chmod 777 /docker/mongo/conf

chmod 777 /docker/mongo/data

#新建配置檔案

echo "

port=27018

auth=true" > /docker/mongo/conf/mongo.conf

#我們此處更換埠並且開啟驗證

#然後直接啟動容器,注意此處後面執行mongod命令表示執行容器內部的配置檔案,所以根據掛載檔案再執行容器內部的路徑

docker run --name mongo -d \

-p 27018:27018 \

--privileged=true \

-v /docker/mongo/conf:/data/configdb \

-v /docker/mongo/data:/data/db \

docker.io/mongo:latest mongod -f /data/configdb/mongo.conf

#-----進入容器

docker exec -it mongo bash

#-----進入mongo

mongo --port 27018

#-----選中admin資料庫

use admin

#-----建立使用者,root使用者

db.createuser(]}

)#-----退出mongo

exit

首先建立資料庫,如果有則選中如果沒有則建立

use admin
輸入admin資料庫使用者名稱密碼然後建立使用者

user為使用者名稱,pwd為使用者密碼,role為角色,db為資料庫

use nlp

db.createuser(]})

然後需要認證登入

use nlp

db.auth(

'nlp'

,'nlp'

)db.createuser(]})

1. 資料庫使用者角色:read、readwrite;

2. 資料庫管理角色:dbadmin、dbowner、useradmin;

3. 集群管理角色:clusteradmin、clustermanager、clustermonitor、hostmanager;

4. 備份恢復角色:backup、restore;

5. 所有資料庫角色:readanydatabase、readwriteanydatabase、useradminanydatabase、dbadminanydatabase

6. 超級使用者角色:root

// 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbowner 、useradmin、useradminanydatabase)

7. 內部角色:__system

read:允許使用者讀取指定資料庫 

readwrite:允許使用者讀寫指定資料庫

dbadmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile

useradmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和管理使用者

readanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權

readwriteanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權

useradminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的useradmin許可權

dbadminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbadmin許可權。

root:只在admin資料庫中可用。超級賬號,超級許可權

3.0以後mongo預設都是5的認證方式,我們可以修改

檢視認證方式

db.system.version.findone()
修改認證方式

db.system.version.update(,})
設定mongo不帶認證方式啟動 -》 修改認證級別 -》 重新建立使用者 -》 重啟mongo帶認證

如果是配置檔案則修改,然後重啟

auth=false
如果使用docker則刪除容器重新掛載目錄啟動時不帶–auth

修改認證級別

db.system.version.update(,})
db.createuser(]})
然後設定auth為true

db.createcollection(

"testas"

);

單節點下使用docker部署consul

目前consul使用的版本是 v1.0.1 部署server端 本環境僅僅部署乙個server端和乙個client端!docker run d p 1234 8500 h node1 name node1 consul agent server bootstrap expect 1 node nod...

kafka單節點單broker的安裝部署及使用

kafka單節點單broker的安裝部署及使用 配置環境變數 vi bash profile export kafka home usr soft kafka 2.13 2.4.0 export path kaf kaho me b in kafka home bin kafkah ome bin ...

docker使用容器ubuntu安裝mongodb

從docker hub上拉去ubuntu image docker pull ubuntu 16.04互動式 i 進入 bin bash t 目錄掛在到容器 v 宿主機和容器埠對映 p 建立容器 sudo docker run i t v home zhoudazhuang usr local ho...