本文适用于 WAF 免费版的 Docker 部署,企业版 Docker 形态的安装方式类似,镜像名与授权导入方式以随授权提供的说明为准。
安装 Docker
如果服务器尚未安装 Docker,请参考所用发行版的官方文档安装 Docker Engine 20.10 及以上版本,并确保 Docker 服务开机自启:
sudo systemctl enable --now docker
docker version
方式一:docker run
sudo mkdir -p /opt/ngfw
docker run -d --name ngfw-waf --restart unless-stopped \
-p 80:80 -p 443:443 -p 9443:9443 \
-v /opt/ngfw:/data \
ngfwone/waf-free:latest
方式二:Docker Compose
便于版本化管理部署参数。新建 /opt/ngfw-compose/docker-compose.yml:
services:
ngfw-waf:
image: ngfwone/waf-free:latest
container_name: ngfw-waf
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "9443:9443"
volumes:
- /opt/ngfw:/data
cd /opt/ngfw-compose && docker compose up -d
参数说明
| 参数 | 说明 |
|---|---|
-p 80:80 -p 443:443 | 业务流量入口。若宿主机这两个端口已被 Nginx 等占用,需先停用或改用其他宿主机端口。 |
-p 9443:9443 | 管理后台、REST API 的访问端口。 |
-v /opt/ngfw:/data | 持久化配置、证书与日志。删除容器不会丢失数据,但删除该目录会。 |
--restart unless-stopped | 宿主机重启或容器异常退出后自动拉起。 |
首次登录
访问 https://<服务器IP>:9443,在初始化页面设置管理员密码。系统不提供默认密码。
升级
升级前建议先备份数据目录。配置保存在数据卷中,重建容器后会自动加载。
docker pull ngfwone/waf-free:latest
docker stop ngfw-waf && docker rm ngfw-waf
docker run -d --name ngfw-waf --restart unless-stopped \
-p 80:80 -p 443:443 -p 9443:9443 \
-v /opt/ngfw:/data \
ngfwone/waf-free:latest
使用 Compose 时执行 docker compose pull && docker compose up -d 即可。生产环境建议在镜像标签中固定具体版本号,而非长期使用 latest,以便回退。
备份与恢复
# 备份(短暂停止容器以保证数据一致)
docker stop ngfw-waf
sudo tar czf ngfw-backup-$(date +%F).tar.gz -C /opt ngfw
docker start ngfw-waf
# 恢复到新主机
sudo tar xzf ngfw-backup-2026-01-01.tar.gz -C /opt
# 然后按上文命令启动容器
后台「系统 → 备份与恢复」也支持导出配置文件,适合只迁移策略、不迁移日志的场景。
查看运行状态
docker logs --tail 200 ngfw-waf
docker stats ngfw-waf
卸载
docker rm -f ngfw-waf
docker rmi ngfwone/waf-free:latest
# 确认不再需要后再删除数据:
# sudo rm -rf /opt/ngfw
删除
/opt/ngfw 会永久清除全部配置、证书和日志,请先确认已备份。