Docker部署MongoDB副本集

实验性质,副本集的三个节点都部署在同一台机器上

基本信息如下

服务器地址 10.10.10.191
副本集名称 rs
容器节点及端口映射
        n0 37017:27017
        n1 47017:27017
        n2 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客户端的容器
docker run -it --rm mongo bash
连接三个节点中的任意一个,注意ip地址为宿主机ip,我当前的为10.10.10.191
  
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()



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章