集群
首先我们计划启动了三个mongo服务:master,salve,arbiter
1.准备工作
新建文件夹如图(每个文件夹下面有db和configdb文件夹):
生成认证文件并修改权限
openssl rand -base64 100 > /root/docker/mongo/keyfile0 --文件内容采base64编码,一共100个字符
chmod 600 /root/docker/mongo/keyfile0
手动拷贝keyfile0到configdb目录, 然后验证权限:
chmod 600 /root/docker/mongo/master/configdb/keyfile0
chmod 600 /root/docker/mongo/salve/configdb/keyfile0
chmod 600 /root/docker/mongo/arbiter/configdb/keyfile0
2.启动3个mongodb:
docker run -d --name mongo-m -v /root/docker/mongo/master/db/:/data/db -v /root/docker/mongo/master/configdb/:/data/configdb --restart=always -p 27017:27017 mongo:latest mongod --dbpath /data/db --replSet mongoreplset --oplogSize 128 --auth --keyFile=/data/configdb/keyfile0
docker run -d --name mongo-s -v /root/docker/mongo/salve/db/:/data/db -v /root/docker/mongo/salve/configdb/:/data/configdb --restart=always -p 27018:27017 mongo:latest mongod --dbpath /data/db --replSet mongoreplset --oplogSize 128 --auth --keyFile=/data/configdb/keyfile0
docker run -d --name mongo-a -v /root/docker/mongo/arbiter/db/:/data/db -v /root/docker/mongo/arbiter/configdb/:/data/configdb --restart=always -p 27019:27017 mongo:latest mongod --dbpath /data/db --replSet mongoreplset --oplogSize 128 --smallfiles --auth --keyFile=/data/configdb/keyfile0
启动后如图: