You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose部署Mongo配置服务器副本集无法连接求助

解决Mongo配置服务器副本集连接拒绝问题

当你用--configsvr参数启动mongod实例时,MongoDB会自动切换到配置服务器的默认端口27019,而非普通实例的27017端口,这就是连接报错MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017的核心原因。

两种解决方案:

  • 方案一:连接时指定正确端口
    直接执行以下命令即可连接到配置服务器实例:

    docker exec -it mongo1 mongosh --port 27019
    
  • 方案二:显式指定配置服务器使用27017端口
    如果希望保持用27017端口访问,可在docker-compose的entrypoint中添加--port 27017参数,修改后的配置如下:

    version: "3.8"
    
    services:
      mongo1:
        image: mongo
        container_name: mongo1
        ports:
          - 30001:27017
        restart: always
        entrypoint:
          [
            "/usr/bin/mongod",
            "--configsvr",
            "--replSet",
            "mongo-csrs",
            "--bind_ip_all",
            "--port", "27017",
            "--dbpath",
            "/data/db",
          ]
        volumes:
          - ./test-volume:/data/db
    

    修改后重新启动容器,原来的docker exec -it mongo1 mongosh命令就能正常使用。

补充说明:MongoDB对不同集群角色有默认端口约定:配置服务器默认27019、分片服务器默认27018、独立实例默认27017,使用角色专属启动参数时会自动切换对应端口,这是容易被忽略的细节。

内容的提问来源于stack exchange,提问作者biryukvy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 14:46:11