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

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

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

这是来自这些文档:

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

我其实觉得呢

 -p 27017:27017 

是多余的。 无论如何。

在本地,我在一个terminal运行容器,然后在另一个terminal发出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?

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

 localhost:27017 

而是使用docker-machine虚拟机的主机/ IP地址

 HOST=$(docker-machine ip) 

然后像这样连接到它:

 mongo --host $HOST