Docker部署MongoDB副本集
阿新 • • 發佈:2019-02-10
實驗性質,副本集的三個節點都部署在同一臺機器上
n2 57017:27017
基本資訊如下
伺服器地址 10.10.10.191副本集名稱 rs容器節點及埠對映 n0 37017:27017 n1 47017:27017n2 57017:27017
步驟如下
1.啟動三個節點
docker run --name m0 -p 37017:27017 -d mongo --replSet "rs"
docker run --name m1 -p 47017:27017 -d mongo --replSet "rs"
docker run --name m2 -p 57017:27017 -d mongo --replSet "rs"
2.連線任意一個節點,進行副本集配置
使用docker進入一個有mongo客戶端的容器連線三個節點中的任意一個,注意ip地址為宿主機ip,我當前的為10.10.10.191docker run -it --rm mongo bash
mongo --host 10.10.10.191 --port 37017
此時已連線到m0節點,進行副本集配置var config={
_id:"rs",
members:[
{_id:0,host:"10.10.10.191:37017"},
{_id:1,host:"10.10.10.191:47017"},
{_id:2,host:"10.10.10.191:57017"}
]};
rs.initiate(config)
響應應該類似下面,注意此時命令提示符已經發生變化,由原來的 > 變成了 rs:SECONDARY>檢視副本集配置資訊{ "ok" : 1, "operationTime" : Timestamp(1522810920, 1), "$clusterTime" : { "clusterTime" : Timestamp(1522810920, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
rs.conf()
檢視副本集狀態rs.status()