MongoDB& Docker:从Dockerized Mongo客户端到外部服务器的连接被拒绝

时间:2015-03-11 18:12:25

标签: docker mongoengine

我在服务器A上运行了一个mongod实例。服务器B有一个Dockerized容器用于我们的web应用程序(apache,django,mongoengine)。服务器B的mongo客户端需要连接到A的mongod实例。我可以通过shell和pymongo连接而没有从B到A的麻烦但我的Dockerized django应用程序的连接被拒绝。

ConnectionError: Cannot connect to database test :
[Wed Mar 11 17:30:49.452307 2015] [:error] [pid 13:tid 140069001664256] [client <client ip>] [Errno 111] Connection refused

这就是我使用mongoengine连接的方式:

register_connection(alias="test", name="test", host="mongodb://user:pwd@<server ip>:27017/test?ssl=true")
connect(db="test", alias="test")

运行Docker容器

docker run -d -p 443:443 -p 27017:27017 me/webapp

我还根据docsip_forward设置为1

我错过了什么?

1 个答案:

答案 0 :(得分:0)

事实证明它与Docker或mongoengine(直接)无关。 Pymongo 2.7.2不支持SCRAM-SHA-1认证。解决方案是安装2.8候选版本。

pip install git+git://github.com/mongodb/mongo-python-driver.git@2.8rc0

查看有用的Jira ticket和最终为我提供修复的pymongo blog post