当前位置: 首页 > 网络应用技术

Docker设置了MongoDB单节点的副本

时间:2023-03-07 10:48:20 网络应用技术

  在开发中,我们很容易通过Docker启动普通的MongoDB数据库服务。但是有时为了保持与在线环境的一致性,或者为了使用MongoDB复制集的某些特征,我们需要部署MongoDB副本本地设置。副本的副本通常需要作为复制集的成员启动多个mongoDB服务,并且通常用于开发的笔记本电脑资源相对有限。在此视图中,官方文档提供了解决方案,您可以直接直接将单个节点mongoDB服务转换为单个节点复制集()(https://www.mongodb.com/docs/manual/tutorial/tandalone-to-to-to-popplica-set/)

  根据官方文件,如果您使用Docker部署服务,则以下步骤如下:

  执行上述步骤后,可以正常运行容器服务,可以正常连接应用程序,并且在这里基本上成功。

  但是,有时本地程序代码可能无法连接到复制设置服务。控制台将报告类似连接错误的问题。错误的原因是。

  在单个节点复制集下,这台机器既是主,也是来自主。可以在容器中查看。只有一个成员,因此,如果您遇到无法连接或其他类似错误,则根本原因将无法识别。

  我遇到了上述问题,并且在百度CSDN上有多个文章。他们说,这种情况需要通过容器启动,并且该应用程序与MONGDB复制服务一起放置在同一docker网络中。有点弯曲。

  从上面的内容中,众所周知,它是副本集的成员的标识。然后,当初始化MongoDB复制集时,我们可以明确指定成员并不使用默认复制集合配置。具体说明,开始步骤中的第三步更改为:

  通过这种方式,通过指定成员IP,Mongo单节副本可以准确地识别成员集成员。对于多节点副本,如果存在连接问题,此方法也适用。