1.创建三个节点的数据目录和配置目录并赋权
mkdir –p /data/mongo-node(1,2,3)/data
mkdir –p /data/mongo-node1(1,2,3)/conf.d
chmod -R 777 /data
2.将mongodb的tar包分别上传至三个节点的服务器并加载或docker pull拉取镜像
docker load -i mongoxxx.tar
3.创建三个节点的配置文件
vi /data/mongo-node(1,2,3)/conf.d/mongo.conf
复制以下内容至配置文件
#systemLog:
# destination: file
# path: "/var/log/mongo/mongod.log"
# logAppend: true
storage:
journal:
enabled: true # for x64 os
dbPath: "/data/mongo"
#processManagement:
# fork: true
net:
# bindIp: 0.0.0.0
bindIpAll: true
port: 27017
setParameter:
enableLocalhostAuthBypass: false
4.创建三个节点的启动脚本
docker run \
-d \
-p 27017:27017 \
-v $(pwd)/mongod.conf:/etc/mongod.conf:ro \
-v $(pwd)/data:/data/mongo:rw \
--restart always \
--name mongodb \
mongodb:latest --config /etc/mongod.conf --replSet "RS"
5.启动三个节点的容器
进入run脚本目录执行
sh run.sh
6.检查各节点时候启动成功并查看个节点IP地址或容器地址(不在同意服务器用服务器IP地址,在同一服务器用容器IP)
在节点1执行
docker exec -it mongo-node1 bash
进入容器后执行
mongo -p 27017
进入mongo后执行
//配置文件
var config = {_id:"RS",members:[{_id:0,host:"192.168.3.24:27017"},{_id:1,host:"192.168.3.20:27017"},{_id:2,host:"192.168.3.19:27017"}]}
//初始化配置文件
rs.initiate(config)