Docker 安装与运维

用 Docker 或 Docker Compose 安装 NGFW One WAF,涵盖数据目录、端口映射、版本升级、备份恢复、日志查看与卸载等日常运维操作。

本文适用于 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 会永久清除全部配置、证书和日志,请先确认已备份。