1

如何在 Docker 中连接不同主机上的两个容器?我需要通过另一台主机上的 nodejs 应用程序在一台主机上使用来自 mongodb 的数据吗?任何人都可以给我一个这样的例子吗?

4

4 回答 4

0

您可以使用abassador 模式进行容器链接

http://docs.docker.com/articles/ambassador_pattern_linking/

Flocker也在解决这个问题,但需要更多时间来设置基础设施:

https://docs.clusterhq.com/en/0.3.2/gettingstarted/

于 2015-02-10T14:11:02.307 回答
0

您可能还想查看 Kontena ( http://www.kontena.io )。Kontena 支持多播(由 Weave 提供)和 DNS 服务发现。由于 DNS 发现,您可以在部署之前预测每个容器将获得什么地址。

作为 Flocker,Kontena 也需要一些时间来设置基础设施:https ://github.com/kontena/kontena/tree/master/docs#getting-started

但是您将获得服务扩展和部署自动化作为奖励。

于 2015-05-26T18:40:00.573 回答
0

您可以通过创建覆盖网络来连接来自不同主机的容器。

Docker Engine 通过覆盖网络驱动程序支持开箱即用的多主机网络。

于 2016-05-12T15:49:29.483 回答
0

另一个容器在哪台机器上并不重要,您只需确保该端口在该机器上公开,然后将第一台机器上的第二个容器指向第二台机器的 IP。

机器 1:Postgres:5432 172.25.8.10ifconfig
机器 2:Web 服务器:80 172.25.8.11 -> 将 DB 指向 172.25.8.10:5432

于 2016-05-12T17:10:02.263 回答