我想从主机B上的另一个Docker容器(另一个EC2实例)ping主机A(EC2实例)上的Docker容器.我需要遵循哪些步骤?
最佳答案
一种选择是覆盖网络,例如weave.这很容易设置,可以使容器在不同的主机甚至不同的数据中心上相互通信,还可以选择连接什么和隔离什么.请注意:我正在编织.
为什么需要一个附加组件?
如the docs中所述,默认情况下,Docker创建一个单主机桥,并为每个容器提供一个专用IP地址.因此,现在您有两个问题:如何在不同机器上的网桥之间建立路由,以及如何隐藏或更改这些IP地址,因为它们无法在公共Internet上使用.
您可以使用带有docker run命令行选项--net=host
的主机网络,但这会丢失您从容器中获得的一些封装.
关于Docker network drivers的讨论非常活跃,这将使解决方案更易于实现,但目前还没有代码.
亚马逊有launched their own container clustering service承诺允许容器彼此通信,但是它仍然不可用.