python - docker 容器 : UDP Communication with other hosts

标签 python docker quadprog

我正在编写一个 python 应用程序,它不断地将 UDP 消息发送到具有其他主机和固定 IP 的预定义网络。我编写了 python 应用程序并将其 dockerized。该应用程序在 docker 中运行良好,没有问题。

不幸的是,我无法将 UDP 消息从我的 docker 发送到主机,因此它们将被发送到网络中的其他主机。接收消息也是如此。现在我不知道如何设置我的 docker,所以它正在从网络中具有固定 IP 地址的主机接收 UDP 消息。

我尝试使用 --net host 设置我的 docker 网络,我将所有 UDP 消息从我的 docker 容器通过本地主机发送到我的主机。这也很好用。我缺少可以将消息发送到“外部世界”的链接。我试着用图片描述我的问题。

Docker host communication problem

我的问题:我必须如何为我的 docker/主机设置网络通信,以便它可以通过 UDP 从网络中的其他主机接收消息? 谢谢

最佳答案

所以我做了很多实验,然后我发现,我只需要运行带有网络配置的 docker 容器作为主机。我容器中的 UDP 套接字绑定(bind)到我的主机的 IP 地址,因此只需要链接到主机的网络。每个正在为同样的问题而苦苦挣扎的人,只需运行

docker run --network=host <YOURCONTAINER>

关于python - docker 容器 : UDP Communication with other hosts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54360408/

相关文章:

r - Quadprog R 中不兼容的类型

r - 使用quadProg库进行约束二次优化

r - 目标函数中有 a_i x_i^2 项的二次规划

python - PyCrypto 可以检查文件是否已经过 AES 加密?

python - 使用 Pandas 舍入 DateTime

python - 带有本地 PIL 图像的 Altair 工具提示

python - 如何使用 webhdfs 列出 HDFS 目录内容?

docker - Yum install 不能在 boot2docker 主机上运行?

ruby - 在 docker 中运行 ruby​​ 1.8.7

javascript - 指定需要的环境变量