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
相关产品推荐
相关产品推荐

