最简单的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.启动关闭的节点,查看第二条数据是否同步
分类:
MongoDB
标签:
,简单模式
, mongodb副本集
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?