
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 界面容器:
consoledocker 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 docker.xuanyuan.run/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 参数:
consoledocker 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 docker.xuanyuan.run/zabbix/zabbix-web-nginx-mysql:tag
如需关联 MySQL 容器,同样使用 --link 参数:
consoledocker 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 docker.xuanyuan.run/zabbix/zabbix-web-nginx-mysql:tag
使用 docker exec 命令进入容器内部:
consoledocker exec -ti some-zabbix-web-nginx-mysql /bin/bash
通过 Docker 容器日志命令查看 Zabbix Web 界面运行日志:
consoledocker 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:指向存储密码的文件路径示例(本地文件挂载):
consoledocker 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 docker.xuanyuan.run/zabbix/zabbix-web-nginx-mysql:tag
示例(Docker Swarm 密钥):
console# 创建密钥 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 docker.xuanyuan.run/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。
商业用户可通过购买技术支持获取额外服务。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务