【问题标题】:How to connect to containers on docker Overlay network from an external machine如何从外部机器连接到 docker Overlay 网络上的容器
【发布时间】:2017-01-05 11:06:04
【问题描述】:

是否有任何已知的解决方案可以让外部机器连接到 docker swarm 覆盖网络上的容器?

【问题讨论】:

  • 为什么正常的端口映射不起作用?我怀疑您可能会受益于查看“服务”如何在 Docker Swarm 模式下工作。它旨在将容器暴露在多个主机服务器上,有效地在覆盖网络上运行的容器之间实现外部世界之间的负载均衡解决方案

标签: docker overlay external connectivity swarm


【解决方案1】:

问题合法的,请参见下面的示例,但是我不知道一个简单的解决方案,我会临时提出一个可能的解决方案,稍后会测试并更新。

假设您有一个由许多 Kafka 组成的 docker 覆盖网络,运行在一个 几个节点(容器主机)。所有 Kafka 代理都与 彼此美丽。

当 Kafka client 需要访问 Kafka broker 时,它会连接 到它(不知何故,据说即使通过 Swarm 的外部服务 端口),但随后损坏的可能回复该数据在另一个 经纪人和这里是其他经纪人的IP(在覆盖 network)... 意思是 Kafka 客户端必须能够访问所有 Kafka 经纪人(覆盖网络)。

如果一切都是容器化,您可以轻松做到这一点,但如果不是呢?

您可以使用 SDN 或临时解决方案来做到这一点: 具有两个网络的容器充当路由器,其中一个“支路”在覆盖网络上,另一个 l2bridged 到其他 VM 或主机所在的位置并通过它进行路由,您必须 Swarm“约束”它运行您希望覆盖网络访问的网络可用。应该可以!

如果有人有另一个干净/清晰的解决方案,我也很感兴趣

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2023-01-19
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多