配置文件路径要注意docker主机的映射路径名称 mongod.conf
1.固定docker下容器IP地址
docker network create --subnet=172.19.0.0/16 mongoIp
2.部署配置服务器
创建3个配置实例
配置文件 路径
net:
bindIpAll: true
replication:
replSetName: rs_configsvr # 副本集名称,相同副本须使用同一个副本集名称
sharding:
clusterRole: configsvr # 定义为mongo配置服务器
---------------configsvr1------------------
docker run -d -p 9001:27019 --name configsvr1 --entrypoint "mongod" -v /usr/local/data/mongo/mongod1/configdata/configsvr:/data/configdb -v /usr/local/data/mongo/mongod1/conf/keyfile:/data/keyfile -v /usr/local/data/mongo/mongod1/conf/configsvr:/data/conf --net mongoIp --ip 172.19.0.2 mongo -f /data/conf/mongod.conf
---------------configsvr2------------------
docker run -d -p 9002:27019 --name configsvr2 --entrypoint "mongod" -v /usr/local/data/mongo/mongod2/configdata/configsvr:/data/configdb -v /usr/local/data/mongo/mongod2/conf/keyfile:/data/keyfile -v /usr/local/data/mongo/mongod2/conf/configsvr:/data/conf --net mongoIp --ip 172.19.0.3 mongo -f /data/conf/mongod.conf
---------------configsvr3------------------
docker run -d -p 9003:27019 --name configsvr3 --entrypoint "mongod" -v /usr/local/data/mongo/mongod3/configdata/configsvr:/data/configdb -v /usr/local/data/mongo/mongod3/conf/keyfile:/data/keyfile -v /usr/local/data/mongo/mongod3/conf/configsvr:/data/conf --net mongoIp --ip 172.19.0.4 mongo -f /data/conf/mongod.conf
------------
分别进入三个容器
mongo --host 127.0.0.1 --port 27019
rs.initiate({
_id: "rs_configsvr",
configsvr: true,
members: [
{ _id : 0, host : "172.19.0.2:27019" },
{ _id : 1, host : "172.19.0.3:27019" },
{ _id : 2, host : "172.19.0.4:27019" }
]