本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
项目代码库可在GitHub查看。
这是一个包含DHCP Helper的小型Docker镜像,适用于Docker环境中的DHCP服务器需要广播中继的场景。容器内的DHCP服务器默认只能接收单播DHCPOFFER消息,而实际需要广播DHCPOFFER消息才能正常工作(详情参考网络问题)。即使在host网络模式下,Docker中的DHCP服务器也无法正常工作,除非使用DHCP中继。
如需了解DHCP协议工作原理,推荐参考此链接。
支持Linux(amd64架构)及树莓派(arm64或arm32架构)。
需安装:
只需通过环境变量IP传递DHCP服务器的IP地址:"-e IP=X.X.X.X"
运行命令示例:
docker run --privileged -d --name dhcp --net host -e "IP=172.31.0.100" homeall/dhcphelper:latest
确保主机的UDP 67端口在操作系统的iptables/防火墙中已开放,且必须使用host网络模式。
可通过以下命令检查服务是否正常运行:
$ nc -uzvw3 127.0.0.1 67 Connection to 127.0.0.1 port 67 [udp/bootps] succeeded!
Docker状态中显示healthy表示健康检查通过,可通过以下命令查看健康状态:
$ docker inspect --format "{{json .State.Health }}" dhcp | jq { "Status": "healthy", "FailingStreak": 0, "Log": [ { "Start": "2021-01-04T10:28:11.8070681Z", "End": "2021-01-04T10:28:14.8695872Z", "ExitCode": 0, "Output": "127.0.0.1 (127.0.0.1:67) open\n" } ] }
在Linux/Mac系统中,可通过以下命令测试DHCP发现:
$ sudo nmap --script broadcast-dhcp-discover -e $你的网络接口
预期输出结果:
Starting Nmap 7.91 ( [***] ) at 2021-01-01 19:40 GMT Pre-scan script results: | broadcast-dhcp-discover: | Response 1 of 1: | Interface: en0 | IP Offered: 192.168.1.30 | DHCP Message Type: DHCPOFFER | Server Identifier: 172.31.0.100 | IP Address Lease Time: 2m00s | Renewal Time Value: 1m00s | Rebinding Time Value: 1m45s | Subnet Mask: 255.255.255.0 | Broadcast Address: 192.168.1.255 | Domain Name Server: 172.31.0.100 | Domain Name: lan | Router: 192.168.1.1 Nmap done: 0 IP addresses (0 hosts up) scanned in 10.26 seconds
dhcphelper与PiHole配合使用效果良好,以下是docker-compose.yml示例:
version: "3.3" services: pihole: container_name: pihole image: pihole/pihole:latest hostname: pihole ports: - "53:53/tcp" - "53:53/udp" - "80:80/tcp" environment: TZ: 'Europe/London' WEBPASSWORD: 'admin' DNS1: '127.0.0.53' DNS2: 'no' volumes: - './etc-pihole/:/etc/pihole/' depends_on: - dhcphelper cap_add: - NET_ADMIN restart: unless-stopped networks: backend: ipv4_address: '172.31.0.100' proxy-tier: {} dhcphelper: restart: unless-stopped container_name: dhcphelper network_mode: "host" image: homeall/dhcphelper:latest environment: TZ: 'Europe/London' IP: '172.31.0.100' # PiHole的IP地址 cap_add: - NET_ADMIN
采用MIT许可证分发。详见LICENSE。
欢迎在Github提交issue反馈问题。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429