【问题标题】:Unable to connect to mongodb in docker container无法连接到 docker 容器中的 mongodb
【发布时间】:2016-03-02 07:12:48
【问题描述】:

尝试连接到 Docker 容器中的 MongoDb 时连接被拒绝。

  1. 这是 docker ps 的输出:

docker ps CONTAINER ID 图像命令
创建状态端口
名称 21063296d7d8 mongo "/entrypoint.sh mongo"
44 分钟前 29 分钟 0.0.0.0:57017->27017/tcp
mongodb-dev

  1. 这是 docker logs mongodb-dev 的 sn-p:

2015-11-28T05:36:36.363+0000 I CONTROL [initandlisten] 数据库版本 v3.0.7 2015-11-28T05:36:36.363+0000 我控制 [initandlisten] git 版本:6ce7cbe8c6b899552dadd907604559806aa2e9bd 2015-11-28T05:36:36.363+0000 我控制 [initandlisten] 构建信息: Linux ip-10-183-78-195 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 BOOST_LIB_VERSION=1_49 2015-11-28T05:36:36.363+0000 我控制 [initandlisten] 分配器:tcmalloc 2015-11-28T05:36:36.363+0000 I 控制 [initandlisten] 选项:{} 2015-11-28T05:36:36.365+0000 I NETWORK [initandlisten] 等待端口 27017 上的连接

  1. 这是使用端口 57017 在 docker 中连接到 MongoDB 时出现的错误

mongo 本地主机:57017

MongoDB shell 版本:3.0.7 连接到:localhost:57017/test 2015-11-27T22:09:22.733-0800 W 网络无法连接到 127.0.0.1:57017,原因:errno:61 连接被拒绝 2015-11-27T22:09:22.734-0800 E QUERY 错误:无法连接到 服务器 localhost:57017 (127.0.0.1),连接尝试失败 在连接时(src/mongo/shell/mongo.js:181:14) 在 (connect):1:6 at src/mongo/shell/mongo.js:181 异常:连接失败

请让我知道我在这里缺少什么。感谢您的帮助!

【问题讨论】:

    标签: mongodb docker connection


    【解决方案1】:

    这取决于您是直接在 Linux 主机上还是在 Mac 上使用 docker。
    在后一种情况下,您需要确保在 VirtualBox 连接设置中已转发端口 57017,正如我在“How to connect mysql workbench to running mysql inside docker?”中提到的那样

    VBoxManage controlvm "boot2docker-vm" --natpf1 "tcp-port57017 ,tcp,,57017,,57017"
    VBoxManage controlvm "boot2docker-vm" --natpf1 "udp-port57017 ,udp,,57017,,57017"
    

    【讨论】:

    • 非常感谢!在VirtualBox中设置端口转发后,我可以连接了。
    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多