如何在 Docker 中连接不同主机上的两个容器?我需要通过另一台主机上的 nodejs 应用程序在一台主机上使用来自 mongodb 的数据吗?任何人都可以给我一个这样的例子吗?
4 回答
您可以使用abassador 模式进行容器链接
http://docs.docker.com/articles/ambassador_pattern_linking/
Flocker也在解决这个问题,但需要更多时间来设置基础设施:
您可能还想查看 Kontena ( http://www.kontena.io )。Kontena 支持多播(由 Weave 提供)和 DNS 服务发现。由于 DNS 发现,您可以在部署之前预测每个容器将获得什么地址。
作为 Flocker,Kontena 也需要一些时间来设置基础设施:https ://github.com/kontena/kontena/tree/master/docs#getting-started
但是您将获得服务扩展和部署自动化作为奖励。
您可以通过创建覆盖网络来连接来自不同主机的容器。
Docker Engine 通过覆盖网络驱动程序支持开箱即用的多主机网络。
另一个容器在哪台机器上并不重要,您只需确保该端口在该机器上公开,然后将第一台机器上的第二个容器指向第二台机器的 IP。
机器 1:Postgres:5432 172.25.8.10ifconfig
机器 2:Web 服务器:80 172.25.8.11 -> 将 DB 指向 172.25.8.10:5432