我有这个命令在一个容器中启动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吗?
答案 0 :(得分:1)
因为我在MacOS上,我不应该连接到
localhost:27017
但是使用docker-machine VM的主机/ IP地址
HOST=$(docker-machine ip)
然后像这样连接到它:
mongo --host $HOST