使用ip地址在不同主机上ping docker容器

时间:2014-11-18 08:11:08

标签: ubuntu networking amazon-web-services docker ping

我想从主机B上的另一个docker容器(另一个EC2实例)ping主机A(EC2实例)上的docker容器。我需要遵循哪些步骤?

2 个答案:

答案 0 :(得分:3)

一个选项是覆盖网络,例如weave。这非常容易设置,允许容器在不同的主机甚至不同的数据中心之间相互通信,并允许您选择要连接的内容和要隔离的内容。请注意:我正在编织。

为什么你需要一个附加组件? 如the docs中所述,默认情况下,Docker会创建一个单主机桥,并为每个容器提供一个私有IP地址。所以现在你有两个问题:如何在不同机器上的网桥之间设置路由,以及如何隐藏或更改这些IP地址,因为它们无法在公共互联网上使用。

您可以使用docker run命令行选项--net=host来使用主机网络,但这会丢失从容器中获得的一些封装。

关于Docker network drivers正在进行积极的讨论,这将使解决方案更容易实现,但目前还没有代码。

亚马逊有launched their own container clustering service承诺允许容器互相交谈,但它又一次无法使用。

答案 1 :(得分:0)

我发现使用Open vSwitch - https://goldmann.pl/blog/2014/01/21/connecting-docker-containers-on-multiple-hosts/是最简单的解决方案!