【问题标题】:sending udp broadcast from a docker container从 docker 容器发送 udp 广播
【发布时间】:2018-11-03 15:37:36
【问题描述】:

我有几个 docker 容器(使用 docker-compose 和一个网络 - network-sol)

其中一个容器是Spring Boot application,它向本地网络发送 UDP 广播。 255.255.255.255 失败,因为它是 network-sol

的本地广播地址

我怎样才能广播UDP消息,例如“顶级本地网络”会得到那些数据包?我必须为此使用directed broadcast address吗?

附言

如果应用程序部署在 docker 之外(本地网络的一部分),则广播可以工作

【问题讨论】:

  • 我认为这只有在 network_mode: host 上运行时才有效。但我不是网络专家来证实这一点

标签: docker spring-boot networking udp docker-compose


【解决方案1】:

我从this 获得了一些运气。该指南指定了从 docker 网络进行广播转发所需的 sysctl 参数,然后您应该能够使用他的脚本或在运行 docker 时指定这些参数。

【讨论】:

    【解决方案2】:

    您应该使用network_mode: host 运行docker-compose.yml 文件中定义的服务。

    或者,您可以使用以下配置发布要与之通信的容器的端口。请注意,UDP 通信需要/udp 才能工作。

    service:
      ports:
        - "8080:8080/udp"
    

    【讨论】:

    • 出于某种原因,它对我不起作用。无论如何我都赞成,因为这似乎是合乎逻辑的答案
    猜你喜欢
    • 2016-07-26
    • 2019-06-17
    • 1970-01-01
    • 2012-11-09
    • 2020-02-21
    • 2014-06-23
    • 1970-01-01
    • 2015-03-14
    • 2021-07-30
    相关资源
    最近更新 更多