gpt4 book ai didi

mongodb - 如何连接到在 Docker 容器中运行的 MongoDB?

转载 作者:IT老高 更新时间:2023-10-28 13:03:53 25 4
gpt4 key购买 nike

我在 MacOS 上运行一个 Docker 容器,它启动 Postgres 服务器和 MongoDB 服务器,如下所示:

docker run -p 80:80 -p 27017:27017 dockertest
* Starting PostgreSQL 9.3 database server
...done.
* Starting database mongodb
...done.

输出显示 MongoDB 服务器已正确启动。然后我查找运行容器的 VM 的 IP,如下所示:

docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.11.2

端口似乎已映射:

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39e5198e4693 dockertest "/bin/sh -c 'service " 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:27017->27017/tcp drunk_nobel

但是,当我想在另一个终端窗口中连接到 MongoDB 时,使用

mongo 192.168.99.100:27017

我收到以下错误:

MongoDB shell version: 2.6.4
connecting to: 192.168.99.100:27017/test
2016-06-05T18:48:19.050+0200 warning: Failed to connect to 192.168.99.100:27017, reason: errno:61 Connection refused
2016-06-05T18:48:19.052+0200 Error: couldn't connect to server 192.168.99.100:27017 (192.168.99.100), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed

我已经看过类似的问题(例如,Unable to connect to mongoDB running in docker container),但建议的解决方案似乎不起作用。

最佳答案

问题与Docker无关,而与MongoDB配置中的bindip有关。参见例如 mongodb.conf bind_ip = 127.0.0.1 does not work but 0.0.0.0 works

关于mongodb - 如何连接到在 Docker 容器中运行的 MongoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37644465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com