【发布时间】:2018-01-09 16:33:15
【问题描述】:
所以我想连接到在我的主机上运行的 mongodb(DO droplet,Ubuntu 16.04)。它在 localhost 的默认 27017 端口上运行。
然后我使用mup 在我的 DO 液滴上部署我的 Meteor 应用程序,它使用 docker 在容器内运行我的 Meteor 应用程序。到目前为止,一切都很好。
一个标准的 mongodb://... 连接 url 用于将应用程序连接到 mongodb。
现在我有以下问题:
mongodb://...@localhost:27017... 显然在 docker 容器中不起作用,因为localhost 不是主机的本地主机。
我已经阅读了很多关于此的 stackoverflow 帖子,我已经尝试过使用:
-
--network="host"- 没有像它所说的那样工作0.0.0.0:80已经在使用或类似的东西(nginx 代理) -
--add-host="local:<MY-DROPLET-INTERNET-IP>"并通过mongodb://...@local:27017...连接:也无法正常工作,因为我只能从本地主机访问我的 mongodb,而不能从公共 IP 访问
这一定是个常见问题!
tl;dr - 在 docker 容器中公开主机 localhost 以便我可以连接到主机上运行的服务的正确方法是什么? (包括它们的端口,例如 27017)。
希望有人能帮忙!
【问题讨论】:
标签: node.js mongodb docker networking containers