docker快速搭建mongodb集群Replica Set

1、创建network bridge

docker network create mongors-net

2、创建数据卷

docker volume create mongors1_data
docker volume create mongors2_data
docker volume create mongors3_data

3、创建3个mongodb

#没有开启身份验证--auth,集群里开启需要keyfile
docker run -itd --name mongors1 --network mongors-net -v mongors1_data:/data/db  -p 27217:27017 -e LANG=C.UTF-8 --restart=always mongo --replSet mongors 
docker run -itd --name mongors2 --network mongors-net -v mongors2_data:/data/db  -p 27218:27017 -e LANG=C.UTF-8 --restart=always mongo --replSet mongors 
docker run -itd --name mongors3 --network mongors-net -v mongors3_data:/data/db  -p 27219:27017 -e LANG=C.UTF-8 --restart=always mongo --replSet mongors 

4、初始化集群

推荐用IP+端口 来初始化集群

rs.initiate({  
    _id:"mongors", 
    members:[    
        {_id:0,host:"172.16.110.34:27217",priority:3},  
        {_id:1,host:"172.16.110.34:27218",priority:2},
        {_id:2,host:"172.16.110.34:27219",priority:1}
    ]
});

最开始使用docker的network bridge来初始化的,结果发现注册的集群信息里,也是mongors1,mongors2这些节点信息。这些信息在这个network bridge以外是识别不了的

#登录主节点
docker exec -it mongors1 bash
#进入mongo
mongosh

#初始化,需要在primary节点执行
use admin
rs.initiate();

#添加secondary节点
rs.add('mongors2:27017');
#继续
rs.add('mongors3:27017');
rs.status();

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值