如何在 docker 上部署我的自定义 dhcp 服务器?
How can I deploy my custom dhcp server on docker?
所以我为特定的工作编写了自己的自定义 dhcp 服务器,我想使用 docker 部署它。我需要在端口 67/udp 上公开它并使用 network_mode 主机。我尝试像这样配置我的 docker-compose。
version: '3'
services:
dhcp:
container_name: custom_dhcp_server
image: registry.patty.com/custom_dhcp_server:latest
restart: always
command: python3 -u src/dhcp_server.py
ports:
- "67:67/udp"
network_mode: "host"
但我刚刚发现我无法向 network_mode 主机公开端口。那么如何使用 docker.
部署它呢?
but I just found that I can't expose port with network_mode host.
虽然这是真的,但这是因为没有必要。当您 运行 在主机网络命名空间中时,您不需要使用端口映射,因为您在 上侦听的任何端口都是 主机端口。只要您的自定义 DHCP 服务器正在侦听端口 67 上的 UDP 流量,就大功告成了。
如果事情似乎不起作用,您可以尝试一些诊断步骤。
如果您 运行 一个非自定义的 dhcp 服务器会怎样? dnsmasq 对此很有用,因为它的配置相对简单。
将调试代码添加到您的自定义 dhcp 服务器。它是否收到任何请求?
检查你的防火墙;您是否有可能阻止 dhcp 请求?
等等
所以我为特定的工作编写了自己的自定义 dhcp 服务器,我想使用 docker 部署它。我需要在端口 67/udp 上公开它并使用 network_mode 主机。我尝试像这样配置我的 docker-compose。
version: '3'
services:
dhcp:
container_name: custom_dhcp_server
image: registry.patty.com/custom_dhcp_server:latest
restart: always
command: python3 -u src/dhcp_server.py
ports:
- "67:67/udp"
network_mode: "host"
但我刚刚发现我无法向 network_mode 主机公开端口。那么如何使用 docker.
部署它呢?but I just found that I can't expose port with network_mode host.
虽然这是真的,但这是因为没有必要。当您 运行 在主机网络命名空间中时,您不需要使用端口映射,因为您在 上侦听的任何端口都是 主机端口。只要您的自定义 DHCP 服务器正在侦听端口 67 上的 UDP 流量,就大功告成了。
如果事情似乎不起作用,您可以尝试一些诊断步骤。
如果您 运行 一个非自定义的 dhcp 服务器会怎样? dnsmasq 对此很有用,因为它的配置相对简单。
将调试代码添加到您的自定义 dhcp 服务器。它是否收到任何请求?
检查你的防火墙;您是否有可能阻止 dhcp 请求?
等等