三台机器,centos7 64,
192.168.1.20
192.168.1.21
192.168.1.22
docker pull mongo:4.0.24
docker run -d --name mongo27017 -p 27017:27017 mongo:4.0.24
1、分别在三台机器启动并配置config副本集
docker run -d --name mongoconfig -p 26001:27019 -v /root/data/soft/mongo/configdb:/data/configdb \mongo:4.0.24 --configsvr --replSet "replconfig" --bind_ip_all
看状态
docker exec -it mongoconfig mongo 127.0.0.1:27019 -eval "db.stats()"
初始化config副本集(初始化失败的话,防火墙中加入容器网段,因为宿主认为容器网段为非法ip)
进入容器mongo
docker exec -it mongoconfig mongo 192.168.1.20:26001
执行
rs.status() config = { _id : "replconfig", members : [ {_id : 0, host : "192.168.1.20:26001" }, {_id : 1, host : "192.168.1.21:26001" }, {_id : 2, host : "192.168.1.22:26001" } ] } rs.initiate(config)
2、mongos入口服务
docker run -d --name mongos -p 27017:27017 --entrypoint "mongos" mongo:4.0.24 --configdb replconfig/192.168.1.20:26001,192.168.1.21:26001,192.168.1.22:26001 --bind_ip_all
查看分片状态
docker exec -it mongos mongo 192.168.1.20:27017 -eval "sh.status()"
3、做第一个分片,副本集
docker run -d --name mongoshard1 -p 26002:27018 -v /root/data/soft/mongo/shard1db:/data/db mongo:4.0.24 --shardsvr --replSet "replshard1" --bind_ip_all
进入容器mongo
docker exec -it mongoconfig mongo 192.168.1.20:26002
执行
rs.status() config = { _id : "replshard1", members : [ {_id : 0, host : "192.168.1.20:26002" }, {_id : 1, host : "192.168.1.21:26002" }, {_id : 2, host : "192.168.1.22:26002" } ] } rs.initiate(config)
4、做第二个分片,副本集
docker run -d --name mongoshard2 -p 26003:27018 -v /root/data/soft/mongo/shard2db:/data/db mongo:4.0.24 --shardsvr --replSet "replshard2" --bind_ip_all
进入容器mongo
docker exec -it mongoconfig mongo 192.168.1.20:26003
执行
rs.status() config = { _id : "replshard2", members : [ {_id : 0, host : "192.168.1.20:26003" }, {_id : 1, host : "192.168.1.21:26003" }, {_id : 2, host : "192.168.1.22:26003" } ] } rs.initiate(config)
4、添加分片
sh.status() sh.addShard("replshard1/192.168.1.20:26002,192.168.1.21:26002,192.168.1.22:26002") sh.addShard("replshard2/192.168.1.20:26003,192.168.1.21:26003,192.168.1.22:26003")
docker——用docker部署mongo分片,添加两片,每片为三节点副本集
原文:https://www.cnblogs.com/xingchong/p/14778146.html