下面是一套可落地的 Docker 启动顺序,适合单机验证。生产请改强密码、钉版本、加数据卷。

启动命令

docker network create zabbix-net

docker run -d --name postgres-server \
  --network=zabbix-net --restart unless-stopped \
  -e POSTGRES_USER=zabbix \
  -e POSTGRES_PASSWORD='请改成强密码' \
  -e POSTGRES_DB=zabbix \
  postgres:16

docker run -d --name zabbix-server-pgsql \
  --network=zabbix-net --restart unless-stopped \
  -e DB_SERVER_HOST=postgres-server \
  -e POSTGRES_USER=zabbix \
  -e POSTGRES_PASSWORD='请改成强密码' \
  -e POSTGRES_DB=zabbix \
  -p 10051:10051 \
  zabbix/zabbix-server-pgsql:7.0-alpine

docker run -d --name zabbix-web-nginx-pgsql \
  --network=zabbix-net --restart unless-stopped \
  -e ZBX_SERVER_HOST=zabbix-server-pgsql \
  -e DB_SERVER_HOST=postgres-server \
  -e POSTGRES_USER=zabbix \
  -e POSTGRES_PASSWORD='请改成强密码' \
  -e POSTGRES_DB=zabbix \
  -p 8080:8080 \
  zabbix/zabbix-web-nginx-pgsql:7.0-alpine

docker run -d --name zabbix-agent \
  --network=zabbix-net --restart unless-stopped \
  -e ZBX_SERVER_HOST=zabbix-server-pgsql \
  -e ZBX_HOSTNAME=zabbix-agent \
  -p 10050:10050 \
  zabbix/zabbix-agent:7.0-alpine

上线检查

  1. Web:http://服务器IP:8080 可打开
  2. Server 日志无数据库认证错误
  3. 前端主机名与 Agent 的 ZBX_HOSTNAME 一致
  4. Agent 可用性为绿色;若 empty response,查 10050/10051 与主机名

常见坑

  • 不要把 Web 的 ZBX_SERVER_HOST 填成 Web 自己
  • latest 方便但不可复现,建议钉小版本
  • 数据库与 Server 首次初始化较慢,不要刚启动就判失败