【发布时间】:2014-11-18 08:11:08
【问题描述】:
我想从主机 B(另一个 EC2 实例)上的另一个 docker 容器 ping 主机 A(EC2 实例)上的一个 docker 容器。我需要遵循哪些步骤?
【问题讨论】:
标签: ubuntu networking amazon-web-services docker ping
我想从主机 B(另一个 EC2 实例)上的另一个 docker 容器 ping 主机 A(EC2 实例)上的一个 docker 容器。我需要遵循哪些步骤?
【问题讨论】:
标签: ubuntu networking amazon-web-services docker ping
一个选项是覆盖网络,例如weave。这很容易设置,让容器在不同的主机甚至不同的数据中心上相互通信,并让您选择连接什么和隔离什么。请注意:我从事编织工作。
为什么您需要一个附加组件? 如the docs 中所述,默认情况下,Docker 创建一个单主机桥并为每个容器提供一个私有 IP 地址。所以现在你有两个问题:如何在不同机器上的网桥之间设置路由,以及如何隐藏或更改这些 IP 地址,因为它们不能在公共互联网上使用。
您可以只使用主机的网络,使用docker run 命令行选项--net=host,但这会丢失您从容器中获得的一些封装。
关于 Docker network drivers 的积极讨论正在进行中,这将使解决方案更易于实施,但目前还没有代码。
亚马逊有launched their own container clustering service,它承诺让容器相互通信,但它仍然不可用。
【讨论】:
我发现使用 Open vSwitch - https://goldmann.pl/blog/2014/01/21/connecting-docker-containers-on-multiple-hosts/ 是最简单的解决方案!
【讨论】: