【问题标题】:Can't send/receive UDP communication between two Docker containers on Mac OS Host无法在 Mac OS 主机上的两个 Docker 容器之间发送/接收 UDP 通信
【发布时间】:2020-01-08 14:17:20
【问题描述】:

我在主机上运行 Docker Desktop for Mac,它运行两个容器。

  • Container-1: 基于 linux 的操作系统,运行基于 UDP 的服务器程序,侦听 14xxx 端口 (udp://:14xxx/)。

  • Container-2: 基于 linux 的操作系统,python 应用程序通过 UDP 地址作为udp://14xxx/ 发送/接收数据,没有任何特定的主机名。

问题:我在 Container-2 上的 python 应用程序能够在 UDP 端口上发送,但永远不会从 Container-1 收到任何返回。

鉴于 UDP 与 TCP 和 HTTP 协议的工作方式不同..

如何在同一主机 (MacOS) 上运行的两个 docker 容器之间建立成功的 UDP 通信?

各种事情我都尝试过,但没有成功。

  1. 尝试使用--network host 选项运行两个容器。

  2. 尝试创建一个新的 docker 网络 testnet 并使用 --network testnet 选项启动容器。

【问题讨论】:

    标签: docker udp containers udpclient docker-for-mac


    【解决方案1】:

    没关系。我找到了解决方案。

    首先,这根本不是 docker 的事情。

    Container-2 上的 python 应用程序中,我使用环境变量来确定 UDP 地址。显然,这些变量设置不正确。因此,混乱/错误。

    其次,“--network host”仍然是两个运行 Docker 容器的有效参数,以确保它们发现/相互通信。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2019-04-22
      • 2020-10-10
      相关资源
      最近更新 更多