我找不到任何其他方法在两个Docker容器之间建立跨主机通信(此刻),而不是使用建议的{大纲模式here。
我想知道使用这种模式比简单使用Docker提供的端口说明有什么好处。以下是我如何使用端口说明技术的示例:
节点A
ifconfig eth0 192.168.56.101
docker run -i -t -p 5558 --name NodeA ubuntu /bin/bash
然后本地端口到Docker容器:5558映射到主机的物理端口49153。
(5558 - > 49153)
节点B
ifconfig eth0 192.168.56.103
docker run -i -t -p 5558 --name NodeB ubuntu /bin/bash
然后本地端口到Docker容器:5558映射到主机的物理端口49156。
(5558 - > 49156)
*可以使用-p 5558:5558
跨主机容器通信
然后NodeA可以通过以下IP地址与NodeB(容器到容器)进行通信:
192.168.56.103:49156
NodeB可以从容器内部监听端口5558。
结论
这似乎是实现这种沟通的直接方式,尽管它非常像是对容器概念的破解。我的问题是为什么使用一个选项而不是另一个选项呢?它实际上是否打破了与主机隔离的概念?