Docker:链接不同主机上的容器

时间:2015-02-10 08:15:27

标签: node.js mongodb docker docker-swarm orchestration

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

4 个答案:

答案 0 :(得分:0)

您可以使用大使模式进行容器关联

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

Flocker 也在解决此问题,但需要更多时间进行基础架构设置:

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

答案 1 :(得分:0)

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

作为Flocker,Kontena还需要一些时间进行基础架构设置:https://github.com/kontena/kontena/tree/master/docs#getting-started

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

答案 2 :(得分:0)

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

  

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

答案 3 :(得分:0)

其他容器所在的机器并不重要,您只需要确保端口在该机器上暴露,然后将第一台机器上的第二个容器指向第二台机器的IP。

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