无法连接到docker容器中的mongodb

前端之家收集整理的这篇文章主要介绍了无法连接到docker容器中的mongodb前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经构建了一个运行mongodb-instance的docker容器,该容器应该暴露给主机.
但是,当我想从主机连接到mongodb容器时,连接将被拒绝.

这是我的Dockerfile:

@H_301_8@FROM mongo:latest RUN mkdir -p /var/lib/mongodb && \ touch /var/lib/mongodb/.keep && \ chown -R mongodb:mongodb /var/lib/mongodb ADD mongodb.conf /etc/mongodb.conf VOLUME [ "/var/lib/mongodb" ] EXPOSE 27017 USER mongodb WORKDIR /var/lib/mongodb ENTRYPOINT ["/usr/bin/mongod","--config","/etc/mongodb.conf"] CMD ["--quiet"]

/etc/mongodb.conf:

这是MongoDB的配置文件,其中我明确地将IP 0.0.0.0绑定为here on SO,127.0.0.1可能是我的问题的根本原因(但它不是)

@H_301_8@systemLog: destination: file path: /var/log/mongodb/mongo.log logAppend: true storage: dbPath: /var/lib/mongodb net: bindIp: 0.0.0.0

docker容器正在运行,但是无法与主机建立连接:

@H_301_8@host$docker run -p 27017:27017 -d --name mongodb-test mongodb-image host$docker ps $docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6ec958034a6f mongodb-image "/usr/bin/mongod --co" 4 seconds ago Up 3 seconds 0.0.0.0:27017->27017/tcp mongodb-test

找到IP地址:

@H_301_8@host$docker inspect 6ec958034a6f |grep IPA "SecondaryIPAddresses": null,"IPAddress": "172.17.0.2","IPAMConfig": null,

尝试连接:

@H_301_8@host$mongo 172.17.0.2:27017 MongoDB shell version v3.4.0 connecting to: mongodb://172.17.0.2:27017 2016-12-16T15:53:40.318+0100 W NETWORK [main] Failed to connect to 172.17.0.2:27017 after 5000 milliseconds,giving up. 2016-12-16T15:53:40.318+0100 E QUERY [main] Error: couldn't connect to server 172.17.0.2:27017,connection attempt Failed : connect@src/mongo/shell/mongo.js:234:13 @(connect):1:6 exception: connect Failed

当我进入容器时,我可以连接到mongo并成功列出测试数据库.

最佳答案
使用localhost而不是ip,允许连接.

将它与暴露的端口结合使用:localhost:27017

我按照评论中的说明测试了解决方案,但它确实有效.

原文链接:https://www.f2er.com/docker/436034.html

猜你在找的Docker相关文章