You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker中部署自定义DHCP服务器

network_mode: host模式下容器会直接共享宿主机的网络命名空间,容器内部监听的端口会直接绑定到宿主机的对应端口,ports映射配置不仅不需要,还会被Docker直接忽略,直接删除该字段即可。另外DHCP服务需要处理底层网络报文、监听1024以下的特权端口,建议补充对应网络权限保证服务正常运行。

修正后的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
    network_mode: "host"
    # 授予必要网络权限,避免权限不足无法正常提供服务
    cap_add:
      - NET_BIND_SERVICE
      - NET_RAW
      - NET_ADMIN

部署注意事项:

  • 启动容器前先执行ss -ulnp | grep :67检查宿主机67/udp端口占用情况,如果存在其他占用进程(比如系统自带的isc-dhcp-server、dnsmasq等),需要先关闭对应进程再启动容器。
  • 确认宿主机防火墙放行67/udp端口的入站流量:
    • ufw防火墙执行:ufw allow 67/udp
    • firewalld防火墙执行:firewall-cmd --add-port=67/udp --permanent && firewall-cmd --reload
  • 容器启动后可以通过docker logs custom_dhcp_server查看服务运行日志,确认端口监听、请求响应正常即可。

内容的提问来源于stack exchange,提问作者Patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 18:12:03