Docker下部署mongodb副本集

1.拉取mongo镜像
docker pull mongo
2.启动三个节点
docker run --name mongo1 -p 27017:27017 -d mongo --replSet “rs”
docker run --name mongo2 -p 37017:27017 -d mongo --replSet “rs”
docker run --name mongo3 -p 47017:27017 -d mongo --replSet “rs”
3.连接任意一个节点,进行副本集配置
连接三个节点中的任意一个,注意ip地址为宿主机ip,我当前的为192.168.0.79
docker exec -it mongo1 bash

mongo --host 192.168.0.79 --port 27017

此时已连接到mongo1节点,进行副本集配置:
var config={
_id:“rs”,
members:[
{_id:0,host:“192.168.0.79:27017”},
{_id:1,host:“192.168.0.79:37017”},
{_id:2,host:“192.168.0.79:47017”}
]}

rs.initiate(config)

如果在执行 rs.initiate() 方法时不传入任何参数,MongoDB 将以默认的配置文档对副本集进行初始化,后续可以再通过 rs.add() 方法来向副本集中添加成员。
#向副本集中添加成员
rs.add(“192.168.21.195:47017”)

#从副本集中删除成员
rs.remove(“192.168.21.195:27017”)

#向副本集中添加仲裁
rs.addArb(“192.168.21.195:27017”)

#向副本集中添加备份节点
rs.add({"_id":3,“host”:“192.168.21.195:27017”,“priority”:0,“hidden”:true})

副本集测试

你可能感兴趣的:(Docker下部署mongodb副本集)