本指南介绍如何在 Windows 系统上部署 DHCP & DNS 管理器。
下载地址:https://www.docker.com/products/docker-desktop
安装完成后启动 Docker Desktop。
# 创建目录
mkdir C:\dhcp-dns-manager
cd C:\dhcp-dns-manager
# 复制项目文件到此目录
# 确保包含:docker-compose.yml, configs/, web/ 等
双击运行 start.bat 或在 PowerShell 中执行:
docker-compose up -d
浏览器打开:http://localhost:8080
选择 go1.21.0.windows-amd64.msi 安装。
验证安装:
go version
# 方式一:Git 克隆
git clone <your-repo-url>
cd dhcp-dns-manager
# 方式二:下载 ZIP 解压
# 下载依赖
go mod download
# 编译
go build -o dhcp-dns-manager.exe ./cmd
# 或使用启动脚本
.\start.bat
使用 NSSM(Non-Sucking Service Manager):
# 以管理员身份打开 PowerShell
cd C:\path\to\nssm\win64
# 安装服务
.\nssm.exe install dhcp-dns-manager
# 在弹出的配置窗口中:
# - Path: C:\dhcp-dns-manager\dhcp-dns-manager.exe
# - Startup directory: C:\dhcp-dns-manager
# - Arguments: -config configs\config.json
# 启动服务
net start dhcp-dns-manager
# 停止服务
net stop dhcp-dns-manager
# 查看状态
sc query dhcp-dns-manager
# 以管理员身份运行 PowerShell
wsl --install
重启电脑后,WSL2 会自动安装 Ubuntu。
# 进入 WSL2
wsl
# 按照 Linux 部署指南操作
cd ~
git clone <your-repo>
cd dhcp-dns-manager
sudo ./install.sh
从 Windows 浏览器访问:
http://localhost:8080
如果启用了 Windows 防火墙,需要开放端口:
# DNS (UDP 53)
New-NetFirewallRule -DisplayName "DHCP-DNS-Manager DNS" -Direction Inbound -Protocol UDP -LocalPort 53 -Action Allow
# DHCP (UDP 67)
New-NetFirewallRule -DisplayName "DHCP-DNS-Manager DHCP" -Direction Inbound -Protocol UDP -LocalPort 67 -Action Allow
# Web UI (TCP 8080)
New-NetFirewallRule -DisplayName "DHCP-DNS-Manager Web" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
检查占用端口的进程:
# 查看 8080 端口
netstat -ano | findstr :8080
# 查看 53 端口
netstat -ano | findstr :53
解决方案:
configs\config.json 中的端口检查 Docker 状态:
docker version
docker-compose version
重启 Docker Desktop
检查端口冲突:
netstat -ano | findstr :53
netstat -ano | findstr :67
netstat -ano | findstr :8080
以管理员身份运行:
start.batWindows 路径:
C:\dhcp-dns-manager\data\dhcp-dns.db
备份数据库:
Copy-Item data\dhcp-dns.db data\dhcp-dns.db.backup
Docker Desktop 会自动启动容器(需启用 Docker Desktop 开机启动)
已自动配置开机启动
C:\dhcp-dns-manager\dhcp-dns-manager.exe-config configs\config.jsonC:\dhcp-dns-manager将项目目录添加到杀毒软件排除列表:
C:\dhcp-dns-manager编辑 configs\config.json:
{
"database": {
"path": "data/dhcp-dns.db?_journal_mode=WAL&_synchronous=NORMAL"
}
}
# 限制事件日志
wevtutil sl "Application" /ms:4194304
docker-compose down
nssm remove dhcp-dns-manager confirm
# 停止服务
net stop dhcp-dns-manager
# 删除目录
Remove-Item -Recurse -Force C:\dhcp-dns-manager
遇到问题可以:
查看日志:
# Docker 方式
docker-compose logs -f
# 直接运行
查看控制台输出
检查事件查看器:
eventvwr.msc提交 Issue
最后更新: 2026-04-23