
dhcpd Docker镜像是一个容器化的DHCP(动态主机配置协议)服务器实现,用于为局域网中的设备自动分配IP地址、子网掩码、网关、DNS服务器等网络配置参数。该镜像基于https://github.com/pnnl-miscscripts/miscscripts%E9%A1%B9%E7%9B%AE%E6%9E%84%E5%BB%BA%EF%BC%8C%E6%97%A8%E5%9C%A8%E7%AE%80%E5%8C%96DHCP%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%83%A8%E7%BD%B2%E4%B8%8E%E7%AE%A1%E7%90%86%EF%BC%8C%E6%8F%90%E4%BE%9B%E8%BD%BB%E9%87%8F%E7%BA%A7%E3%80%81%E5%8F%AF%E7%A7%BB%E6%A4%8D%E7%9A%84%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E3%80%82
dhcpd.conf)Docker Run 示例
bashdocker run -d \ --name dhcpd-server \ --net=host \ # 推荐使用host网络模式以直接访问宿主机网络接口 -v /path/to/local/dhcpd-config:/etc/dhcp \ # 挂载本地配置目录 -v /var/lib/dhcp:/var/lib/dhcp \ # 挂载租约数据库目录(可选,持久化租约记录) --restart unless-stopped \ pnnl-miscscripts/miscscripts-dhcpd
参数说明:
--net=host:使用主机网络模式,确保DHCP服务能监听宿主机网络接口并接收广播请求-v /path/to/local/dhcpd-config:/etc/dhcp:将本地配置目录挂载到容器内,配置文件需包含dhcpd.conf-v /var/lib/dhcp:/var/lib/dhcp:持久化存储DHCP租约数据库,避免容器重启后租约信息丢失dhcpd.conf 基础配置示例:
conf# 全局设置 default-lease-time 600; # 默认租约时间(秒) max-lease-time 7200; # 最大租约时间(秒) option domain-name "example.com"; # 域名 option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器 # 子网配置 subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; # IP地址池范围 option subnet-mask 255.255.255.0; # 子网掩码 option routers 192.168.1.1; # 默认网关 option broadcast-address 192.168.1.255; # 广播地址 }
yamlversion: '3.8' services: dhcpd: image: pnnl-miscscripts/miscscripts-dhcpd container_name: dhcpd-service network_mode: host volumes: - ./dhcpd-config:/etc/dhcp:ro # 只读挂载配置目录 - dhcpd-leases:/var/lib/dhcp # 命名卷存储租约数据 restart: unless-stopped # 如需指定监听接口(部分环境需要) # command: dhcpd -f -d eth0 # -f 前台运行,-d 调试模式,eth0 监听接口 volumes: dhcpd-leases: # 持久化租约数据的命名卷
网络模式选择:由于DHCP服务依赖广播通信,推荐使用--net=host模式;若使用桥接模式,需确保容器能接收网络广播包并正确映射UDP 67端口
权限配置:宿主机挂载目录需确保容器内进程有读取权限(配置文件)和写入权限(租约目录)
防火墙设置:需开放宿主机UDP 67端口(入站)和UDP 68端口(出站),允许DHCP协议流量通过
配置验证:启动前建议通过dhcpd -t -cf /path/to/dhcpd.conf验证配置文件语法正确性
日志查看:通过docker logs dhcpd-server查看服务运行日志,排查配置或网络问题
如需自定义服务行为,可通过修改启动命令或添加环境变量实现(具体支持项请参考https://github.com/pnnl-miscscripts/miscscripts%E9%A1%B9%E7%9B%AE%E6%96%87%E6%A1%A3%EF%BC%89%EF%BC%8C%E5%B8%B8%E8%A7%81%E6%89%A9%E5%B1%95%E5%9C%BA%E6%99%AF%EF%BC%9A
command: dhcpd -f eth0command: dhcpd -f -d(-d 开启调试模式)dhcpd.conf中配置max-lease-time和地址池范围控制完整配置参数与高级用法,请参考官方项目文档:https://github.com/pnnl-miscscripts/miscscripts
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务