无法连接到在本地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