无法连接到在本地Docker容器中运行的MongoDB

时间:2017-05-02 18:28:38

标签: mongodb docker

我有这个命令在一个容器中启动MongoDB:

docker run -p 27017:27017 --name cdt-mongo mongo

这是来自这些文档:

https://hub.docker.com/_/mongo/

我实际上认为

-p 27017:27017

是多余的。反正。

在本地,我在一个终端中运行容器,然后在另一个终端中发出mongo命令,我得到:

$ mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
2017-05-02T11:27:22.864-0700 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-05-02T11:27:22.866-0700 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed

有人知道为什么我无法连接到容器中运行的mongodb吗?

1 个答案:

答案 0 :(得分:1)

因为我在MacOS上,我不应该连接到

localhost:27017

但是使用docker-machine VM的主机/ IP地址

HOST=$(docker-machine ip)

然后像这样连接到它:

mongo --host $HOST