最简单的Docker创建MongoDB副本集
一:前提
Ubuntu系统 LTS16+ Docker部署完成 外部网络支持
当前IP:172.168.20.42
二:终端操作 1.创建一个Docker网络
docker network create mongo-cluster

2.启动容器(带有客户端的版本)
docker run --name mongo1 -p 37071:27017 --net mongo-cluster -d mongo:4.4-bionic mongod --replSet rs1

3.进入mongo1容器 docker exec -it mongo1 mongo

4.配置conf
说明:
37071、37072为主备节点
37073为仲裁节点
rs.initiate({_id: "rs1", members: [ { _id: 0, host: "172.168.20.42:37071" }, { _id: 1, host: "172.168.20.42:37072" }, { _id: 2, host: "172.168.20.42:37073",arbiterOnly:true } ]})
代码连接:
class Program { static void Main(string[] args) { try { var settings = MongoClientSettings.FromUrl(new MongoUrl("mongodb://172.168.20.42:37071,172.168.20.42:37072/?replicaSet=rs1")); var client = new MongoClient(settings); var _mongodb = client.GetDatabase("testdb1"); // 获取集合 var collection = _mongodb.GetCollection<BsonDocument>("t1"); // 在集合中插入文档 var document = new BsonDocument{{ "name", "John Doe" },{ "age", 42 },{ "isStudent", false }}; collection.InsertOne(document); } catch (Exception e) { Console.WriteLine(e.Message); } }测试:
1.调用完成后。在查看两个节点 数据是否同步。
2.关闭一个节点,继续写入第二条,查看程序是否正常运行
3.启动关闭的节点,查看第二条数据是否同步
浙公网安备 33010602011771号