我已经使用docker image https://hub.docker.com/_/mongo/与docker设置了Mongo Primary节点.
现在,我只想使用docker在当前设置中添加副本节点.
有人可以帮我吗?
最佳答案
您可以查看“ Deploy a MongoDB Cluster in 9 steps Using Docker”之类的指南,但其中涉及多个工作的Docker服务器.
它使用密钥文件密钥文件来在internal authentication的所有节点上使用(openssl rand -base64 741> mongodb-keyfile).
这样就可以创建一个管理员用户,然后添加副本服务器:
docker run \
--name mongo \
-v /home/core/mongo-files/data:/data/db \
-v /home/core/mongo-files:/opt/keyfile \
--hostname="node1.example.com" \
--add-host node1.example.com:${node1} \
--add-host node2.example.com:${node2} \
--add-host node3.example.com:${node3} \
-p 27017:27017 -d mongo:2.6.5 \
--smallfiles \
--keyFile /opt/keyfile/mongodb-keyfile \
--replSet "rs0"
在每个副本上,您启动然后检查配置:
rs.initiate()
rs.conf()
回到节点1,您声明副本:
rs0:PRIMARY> rs.add("node2.example.com")
rs0:PRIMARY> rs.add("node3.example.com")