本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!logo
Zabbix 是一款企业级开源分布式监控解决方案,可对网络参数、服务器健康状态及完整性进行全面监控。它支持灵活的通知机制,允许用户为各类事件配置邮件告警,以便快速响应服务器问题。同时,Zabbix 基于存储数据提供出色的报表和数据可视化功能,适用于容量规划场景。
更多 Zabbix 组件信息及相关下载,可访问:[***] 和 *** Zabbix Web 界面
Zabbix Web 界面是 Zabbix 软件的组成部分,用于管理被监控资源和查看监控统计数据。
以下是官方发布的 Zabbix Web 界面 Docker 镜像,基于 Alpine Linux v3.22、Ubuntu 24.04(noble)、CentOS Stream 10 和 Oracle Linux 10 构建。支持的 Zabbix Web 界面版本及对应标签如下:
镜像会随新版本发布同步更新,其中 latest 标签默认基于 Alpine Linux。
Zabbix Web 界面提供四种版本,分别对应不同的 Web 服务器和数据库组合:
本文档主要介绍 基于 Nginx + MySQL 的 Zabbix Web 界面镜像。
zabbix-web-nginx-mysql 容器通过以下命令启动 Zabbix Web 界面容器:
docker run --name some-zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER="some-user" \ -e MYSQL_PASSWORD="some-password" \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="some-timezone" \ -d zabbix/zabbix-web-nginx-mysql:tag
参数说明:
some-zabbix-web-nginx-mysql:自定义容器名称some-mysql-server:MySQL 服务器的 IP 或 DNS 名称some-user:连接 MySQL 数据库的用户名some-password:MySQL 用户密码some-zabbix-server:Zabbix 服务器/代理的 IP 或 DNS 名称some-timezone:PHP 时区(如 Asia/Shanghai)tag:指定镜像版本标签(参考上文“支持的版本及标签”)完整标签列表可查看 Docker Hub。
如需将 Web 界面容器与 Zabbix Server 关联,可使用 --link 参数:
docker run --name some-zabbix-web-nginx-mysql \ --link some-zabbix-server:zabbix-server \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER="some-user" \ -e MYSQL_PASSWORD="some-password" \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="some-timezone" \ -d zabbix/zabbix-web-nginx-mysql:tag
如需关联 MySQL 容器,同样使用 --link 参数:
docker run --name some-zabbix-web-nginx-mysql \ --link some-mysql-server:mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER="some-user" \ -e MYSQL_PASSWORD="some-password" \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="some-timezone" \ -d zabbix/zabbix-web-nginx-mysql:tag
使用 docker exec 命令进入容器内部:
docker exec -ti some-zabbix-web-nginx-mysql /bin/bash
通过 Docker 容器日志命令查看 Zabbix Web 界面运行日志:
docker logs some-zabbix-web-nginx-mysql
启动容器时,可通过 -e 参数设置环境变量调整 Zabbix Web 界面配置。以下为常用变量说明:
| 变量名 | 说明 | 默认值 |
|---|---|---|
ZBX_SERVER_HOST | Zabbix 服务器/代理的 IP 或 DNS 名称 | zabbix-server |
ZBX_SERVER_PORT | Zabbix 服务器监听端口 | 10051 |
DB_SERVER_HOST | MySQL 服务器的 IP 或 DNS 名称 | mysql-server |
DB_SERVER_PORT | MySQL 服务器端口 | 3306 |
MYSQL_USER | MySQL 数据库用户名 | zabbix |
MYSQL_PASSWORD | MySQL 用户密码 | zabbix |
MYSQL_DATABASE | Zabbix 数据库名称 | zabbix |
PHP_TZ | PHP 时区(如 Asia/Shanghai) | Europe/Riga |
为避免明文传递密码,可通过文件方式注入 MySQL 用户名/密码(适用于 Docker Swarm/Kubernetes 等场景):
MYSQL_USER_FILE:指向存储用户名的文件路径MYSQL_PASSWORD_FILE:指向存储密码的文件路径示例(本地文件挂载):
docker run --name some-zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -v ./.MYSQL_USER:/run/secrets/MYSQL_USER \ -e MYSQL_USER_FILE=/run/secrets/MYSQL_USER \ -v ./.MYSQL_PASSWORD:/run/secrets/MYSQL_PASSWORD \ -e MYSQL_PASSWORD_FILE=/run/secrets/MYSQL_PASSWORD \ -e PHP_TZ="Asia/Shanghai" \ -d zabbix/zabbix-web-nginx-mysql:tag
示例(Docker Swarm 密钥):
# 创建密钥 printf "zabbix" | docker secret create MYSQL_USER - printf "zabbix" | docker secret create MYSQL_PASSWORD - # 使用密钥启动容器 docker run --name some-zabbix-web-nginx-mysql \ -e DB_SERVER_HOST="some-mysql-server" \ -e MYSQL_USER_FILE=/run/secrets/MYSQL_USER \ -e MYSQL_PASSWORD_FILE=/run/secrets/MYSQL_PASSWORD \ -e ZBX_SERVER_HOST="some-zabbix-server" \ -e PHP_TZ="Asia/Shanghai" \ -d zabbix/zabbix-web-nginx-mysql:tag
| 变量名 | 说明 |
|---|---|
ZBX_HISTORYSTORAGEURL | Elasticsearch 历史存储服务的 HTTP(S) URL(3.4.5+ 支持) |
ZBX_HISTORYSTORAGETYPES | 需存储到 Elasticsearch 的值类型(如 ['uint', 'dbl']) |
ZBX_SERVER_NAME | Web 界面顶部显示的 Zabbix 实例名称 |
DB_DOUBLE_IEEE754 | 是否启用 64 位浮点型历史数据的 IEEE754 兼容模式(5.0.0+,默认启用) |
ZBX_DB_ENCRYPTION | 是否启用数据库连接加密(5.0.0+,默认禁用,设为 true 启用) |
还支持 PHP-FPM 配置(如 PHP_FPM_PM_MAX_CHILDREN)、Nginx 配置(如 WEB_REAL_IP_FROM)、TLS 加密(如 ZBX_DB_CA_FILE)、SAML 认证(如 ZBX_SSO_SP_KEY)等,详细说明可参考 官方文档。
可通过 -v 参数挂载宿主机目录到容器,实现自定义配置或持久化数据:
/etc/ssl/nginx用于启用 HTTPS,需挂载包含以下文件的目录:
ssl.crt:SSL 证书文件ssl.key:SSL 私钥文件dhparam.pem:DH 参数文件配置方法参考 Nginx 官方文档。
/etc/zabbix/web/certs用于 SAML 认证,需挂载包含以下文件的目录(5.0.0+ 支持):
sp.key:服务提供商(SP)私钥sp.crt:服务提供商(SP)证书idp.crt:身份提供商(IDP)证书/var/lib/zabbix/enc用于存储 TLS 相关文件(7.4.0+ 支持),需与 ZBX_SERVER_TLS_CAFILE(CA 文件路径)、ZBX_SERVER_TLS_KEYFILE(私钥路径)等变量配合使用。
Zabbix Web 界面镜像提供多种基础系统版本,适用于不同场景:
alpine-<version>基于 Alpine Linux,镜像体积极小(约 5MB 基础镜像),适合对资源敏感的场景。需注意其使用 musl libc,部分依赖 glibc 的软件可能存在兼容性问题。
ubuntu-<version>基于 Ubuntu 24.04,为默认推荐版本,兼容性好,适合大多数通用场景。
ol-<version>基于 Oracle Linux 10,针对 Oracle 工作负载优化,支持 Ksplice、DTrace 等企业级特性。
官方推荐 Docker 1.12.0 及以上版本,旧版本(低至 1.6)可尝试使用,但不保证完全兼容。
升级 Docker 方法参考 Docker 官方文档。
镜像详细文档位于 GitHub 仓库 的 web-nginx-mysql/ 目录。
如遇使用问题,可通过 GitHub Issues 提交。
欢迎提交功能改进、bug 修复或更新,建议先通过 GitHub Issues 讨论计划,再提交 Pull Request。
商业用户可通过购买技术支持获取额外服务。
免费版仅支持 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