5 从容器安装

概览

本节描述了如何使用DockerDocker Compose部署Zabbix。

Zabbix官方提供了:

  • 针对每个Zabbix组件的独立Docker镜像,以便作为便携且自给自足的容器运行。
  • Compose文件,用于在Docker中定义和运行多容器Zabbix组件。

从Zabbix 6.0开始,需要在安装期间创建确定性触发器。 如果为MySQL/MariaDB启用了二进制日志记录,这需要超级用户权限或设置变量/配置参数 log_bin_trust_function_creators = 1。请参阅数据库创建脚本以获取如何设置变量的说明。
请注意,如果从控制台执行,变量将仅暂时设置,并且在Docker重启时将被删除。 在这种情况下,保持您的SQL服务运行,仅通过运行'docker compose down zabbix-server'然后'docker compose up -d zabbix-server'来停止zabbix-server服务。
或者,您可以在配置文件中设置此变量。

Docker file 源

任何人都可以使用位于 github.com 上的 官方仓库 来追踪 Docker file 的变化。 您可以 fork 项目,或根据官方 Docker file 制作自己的 image。

Docker

Zabbix 提供基于各种操作系统基础镜像的镜像。要获取特定 Zabbix 组件支持的基础操作系统镜像列表,请参见 Docker Hub 中该组件的描述。所有 Zabbix 镜像都配置为在基础镜像更新时重新构建最新镜像。

安装

要获取 Zabbix 组件镜像,运行:

docker pull zabbix/zabbix-server-mysql

zabbix/zabbix-server-mysql 替换为所需的 Docker 仓库名称。

此命令将基于 Alpine Linux 操作系统拉取最新的稳定 Zabbix 组件版本。您可以在仓库名称后附加 标签 以获取基于其他操作系统或特定 Zabbix 主版本或次版本的镜像。

以下仓库在 Docker Hub 中可用:

组件 Docker 仓库
Zabbix agent zabbix/zabbix-agent
Zabbix server
支持 MySQL zabbix/zabbix-server-mysql
支持 PostgreSQL zabbix/zabbix-server-pgsql
Zabbix Web 界面
基于 Apache2 Web 服务器,支持 MySQL zabbix/zabbix-web-apache-mysql
基于 Apache2 Web 服务器,支持 PostgreSQL zabbix/zabbix-web-apache-pgsql
基于 Nginx Web 服务器,支持 MySQL zabbix/zabbix-web-nginx-mysql
基于 Nginx Web 服务器,支持 PostgreSQL zabbix/zabbix-web-nginx-pgsql
Zabbix proxy
支持 SQLite3 zabbix/zabbix-proxy-sqlite3
支持 MySQL zabbix/zabbix-proxy-mysql
Zabbix Java 网关 zabbix/zabbix-java-gateway

SNMP 陷阱支持在单独的仓库 zabbix/zabbix-snmptraps 中提供。它可以与 Zabbix server 和 Zabbix proxy 链接。

标签

官方 Zabbix 组件镜像可能包含以下标签:

标签 描述 示例
latest 基于 Alpine Linux 镜像的最新稳定版 Zabbix 组件。 zabbix-agent:latest
<OS>-trunk 当前正在开发的 Zabbix 版本在特定操作系统上的最新夜间构建。

<OS> - 基础操作系统。支持的值:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019(仅限 agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022(仅限 agent);
ubuntu - Ubuntu
zabbix-agent:ubuntu-trunk
<OS>-latest 特定操作系统上的最新稳定版 Zabbix 组件。

<OS> - 基础操作系统。支持的值:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019(仅限 agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022(仅限 agent);
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest 特定主要版本和操作系统的最新次要版本的 Zabbix 组件。

<OS> - 基础操作系统。支持的值:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019(仅限 agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022(仅限 agent);
ubuntu - Ubuntu

X.X - Zabbix 主要版本(如 6.07.07.2)。
zabbix-agent:alpine-7.0-latest
<OS>-X.X.* 特定主要版本和操作系统的最新次要版本的 Zabbix 组件。

<OS> - 基础操作系统。支持的值:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019(仅限 agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022(仅限 agent);
ubuntu - Ubuntu

X.X - Zabbix 主要版本(如 6.07.07.2)。

* - Zabbix 次要版本
zabbix-agent:alpine-7.0.1

初始配置

下载镜像后,通过执行docker run命令并附加额外参数来启动容器,这些参数用于指定所需的环境变量和/或挂载点。下面提供了一些配置示例

在Zabbix 7.0.0-7.0.2中,Zabbix不应作为PID1/初始化进程在容器中运行。

为了使Zabbix组件之间能够通信,一些端口,如Zabbix server(陷阱接收器)的10051/TCP,Zabbix agent的10050/TCP,SNMP陷阱的162/UDP,以及Zabbix Web界面的80/TCP,将被暴露给主机。Zabbix组件使用的默认端口完整列表可以在要求页面找到。对于Zabbix server和agent,可以通过设置ZBX_LISTENPORT环境变量来更改默认端口。

    ##### 环境变量

所有Zabbix组件镜像提供了环境变量来控制配置。 支持的环境变量列在组件仓库中。

这些环境变量是Zabbix配置文件中的选项,但采用了不同的命名方法。 例如,ZBX_LOGSLOWQUERIES等同于Zabbix server或Zabbix proxy配置文件中的LogSlowQueries

一些配置选项(例如,PIDFileLogType)无法更改。

以下环境变量是Docker组件特有的,Zabbix配置文件中不存在:

Variable 组件 默认值 描述
DB_SERVER_HOST Server
Proxy
Web界面
mysql-server 对于MYSQL
postgres-server 对于PostgreSQL
MySQL或PostgreSQL服务器的IP或DNS名称。
DB_SERVER_PORT Server
Proxy
Web界面
3306 对于MYSQL
5432 对于PostgreSQL
MySQL或PostgreSQL服务器的端口。
MYSQL_USER Server
Proxy
Web界面
zabbix MySQL数据库用户。
MYSQL_PASSWORD Server
Proxy
Web界面
zabbix MySQL数据库密码。
MYSQL_DATABASE Server
Proxy
Web界面
zabbix 对于Zabbix server
zabbix_proxy 对于Zabbix proxy
Zabbix数据库名称。
POSTGRES_USER Server
Web界面
zabbix PostgreSQL数据库用户。
POSTGRES_PASSWORD Server
Web界面
zabbix PostgreSQL数据库密码。
POSTGRES_DB Server
Web界面
zabbix 对于Zabbix server
zabbix_proxy 对于Zabbix proxy
Zabbix数据库名称。
PHP_TZ Web界面 Europe/Riga PHP格式的时区。支持的时区完整列表可在php.net上找到。
ZBX_SERVER_NAME Web界面 Zabbix Docker Web界面右上角可见的Zabbix安装名称。
ZBX_JAVAGATEWAY_ENABLE Server
Proxy
false 启用与Zabbix Java网关的通信,以收集与Java相关的检查。
ZBX_ENABLE_SNMP_TRAPS Server
Proxy
false 启用SNMP陷阱功能。它需要zabbix-snmptraps实例和共享卷/var/lib/zabbix/snmptraps到Zabbix server或Zabbix proxy。
Volumes

Image 中允许使用一些挂载点。根据 Zabbix 组件类型,这些挂载点各不相同:

Volume 描述
Zabbix agent
/etc/zabbix/zabbix_agentd.d 这个 volume 允许包含 *.conf 文件并使用 UserParameter 扩展 Zabbix agent。
/var/lib/zabbix/modules 这个 volume 允许加载其它 module 并使用 LoadModule 功能扩展 Zabbix agent。
/var/lib/zabbix/enc 这个 volume 用于存放 TLS 相关的文件。这些文件名使用 ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILEZBX_TLSPSKFILE 等环境变量指定。
Zabbix server
/usr/lib/zabbix/alertscripts 这个 volume 用于自定义告警脚本。即 zabbix_server.conf 中的 AlertScriptsPath 参数。
/usr/lib/zabbix/externalscripts 这个 volume 用于 外部检查。即 zabbix_server.conf 中的 ExternalScripts 参数。
/var/lib/zabbix/modules 这个 volume 允许通过 LoadModule 功能加载额外的模块以扩展 Zabbix server。
/var/lib/zabbix/enc 这个 volume 用于存放 TLS 相关的文件。这些文件名使用 ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILEZBX_TLSPSKFILE 等环境变量指定。
/var/lib/zabbix/ssl/certs 这个 volume 用于存放客户端认证的 SSL 客户端认证文件。即 [zabbix_server.conf] 中的 SSLCertLocation 参数。
/var/lib/zabbix/ssl/keys 这个 volume 用于存放客户端认证的 SSL 私钥文件。即 zabbix_server.conf 中的 SSLKeyLocation 参数。
/var/lib/zabbix/ssl/ssl_ca 这个 volume 用于存放 SSL 服务器证书认证的证书颁发机构(CA)文件。即 zabbix_server.conf 中的 SSLCALocation 参数。
/var/lib/zabbix/snmptraps 这个 volume 用于存放 snmptraps.log 文件。它可由 zabbix-snmptraps 容器共享,并在创建 Zabbix server 新实例时使用 Docker 的 --volumes-from 选项继承。可以通过共享 volume ,并将 ZBX_ENABLE_SNMP_TRAPS 环境变量切换为 'true' 以启用 SNMP trap 处理功能。
/var/lib/zabbix/mibs 这个 volume 允许添加新的 MIB 文件。它不支持子目录,所有的 MIB 文件必须位于 /var/lib/zabbix/mibs 下。
Zabbix proxy
/usr/lib/zabbix/externalscripts 这个 volume 用于 外部检查。即 zabbix_proxy.conf 中的 ExternalScripts 参数。
/var/lib/zabbix/modules 这个 volume 允许通过 LoadModule 功能加载额外的模块以扩展 Zabbix server。
/var/lib/zabbix/enc 这个 volume 用于存放 TLS 相关的文件。这些文件名使用 ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILEZBX_TLSPSKFILE 等环境变量指定。
/var/lib/zabbix/ssl/certs 这个 volume 用于存放客户端认证的 SSL 客户端认证文件。即 zabbix_proxy.conf 中的 SSLCertLocation 参数。
/var/lib/zabbix/ssl/keys 这个 volume 用于存放客户端认证的 SSL 私钥文件。即 zabbix_proxy.conf 中的 SSLKeyLocation 参数。
/var/lib/zabbix/ssl/ssl_ca 这个 volume 用于存放 SSL 服务器证书认证的证书颁发机构(CA)文件。即zabbix_proxy.conf 中的 SSLCALocation 参数。
/var/lib/zabbix/snmptraps 这个 volume 用于存放 snmptraps.log 文件。它可由 zabbix-snmptraps 容器共享,并在创建 Zabbix server 新实例时使用 Docker 的 --volumes-from 选项继承。可以通过共享 volume ,并将 ZBX_ENABLE_SNMP_TRAPS 环境变量切换为 'true' 以启用 SNMP trap 处理功能。
/var/lib/zabbix/mibs 这个 volume 允许添加新的 MIB 文件。它不支持子目录,所有的 MIB 文件必须位于 /var/lib/zabbix/mibs 下。
基于 Apache2 web 服务器的 Zabbix web 界面
/etc/ssl/apache2 这个 volume 允许为 Zabbix Web 界面启用 HTTPS。这个 volume 必须包含为 Apache2 SSL 连接准备的 ssl.crtssl.key 两个文件。
基于 Nginx web 服务器的 Zabbix web 界面
/etc/ssl/nginx 这个 volume 允许为 Zabbix Web 接口启用 HTTPS。这个 volume 必须包含为 Nginx SSL 连接装备的 ssl.crtssl.key 两个文件。
Zabbix snmptraps
/var/lib/zabbix/snmptraps 这个 volume 包含了已接收到的 SNMP traps 命名的 snmptraps.log日志文件。
/var/lib/zabbix/mibs 这个 volume 允许添加新的 MIB 文件。它不支持子目录,所有的 MIB 文件必须位于 /var/lib/zabbix/mibs 下。

关于更多的信息请在 Docker Hub 的 Zabbix 官方仓库查看。

使用示例

示例 1

该示例示范了如何运行 MySQL 数据库支持的 Zabbix Server 、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java 网关。

1. 创建专用于 Zabbix 组件容器的网络:

# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

2. 启动空的 MySQL 服务器实例:

# docker run --name mysql-server -t \
             -e MYSQL_DATABASE="zabbix" \
             -e MYSQL_USER="zabbix" \
             -e MYSQL_PASSWORD="zabbix_pwd" \
             -e MYSQL_ROOT_PASSWORD="root_pwd" \
             --network=zabbix-net \
             -d mysql:8.0 \
             --restart unless-stopped \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

3. 启动 Zabbix Java 网关实例:

# docker run --name zabbix-java-gateway -t \
             --network=zabbix-net \
             --restart unless-stopped \
             -d zabbix/zabbix-java-gateway:alpine-5.4-latest

4. 启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例:

# docker run --name zabbix-server-mysql -t \
             -e DB_SERVER_HOST="mysql-server" \
             -e MYSQL_DATABASE="zabbix" \
             -e MYSQL_USER="zabbix" \
             -e MYSQL_PASSWORD="zabbix_pwd" \
             -e MYSQL_ROOT_PASSWORD="root_pwd" \
             -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
             --network=zabbix-net \
             -p 10051:10051 \
             --restart unless-stopped \
             -d zabbix/zabbix-server-mysql:alpine-5.4-latest

Zabbix server 实例将 10051/TCP 端口(Zabbix trapper)暴露给主机。

5. 启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例:

# docker run --name zabbix-web-nginx-mysql -t \
             -e ZBX_SERVER_HOST="zabbix-server-mysql" \
             -e DB_SERVER_HOST="mysql-server" \
             -e MYSQL_DATABASE="zabbix" \
             -e MYSQL_USER="zabbix" \
             -e MYSQL_PASSWORD="zabbix_pwd" \
             -e MYSQL_ROOT_PASSWORD="root_pwd" \
             --network=zabbix-net \
             -p 80:8080 \
             --restart unless-stopped \
             -d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest

Zabbix web 界面实例将 80/TCP 端口(HTTP)暴露给主机。

示例 2

该示例示范了如何运行 PostgreSQL 数据库支持的 Zabbix server、基于 Nginx Web 服务器的 Zabbix Web 界面和 SNMP trap功能。

1. 创建专用于 Zabbix 组件容器的网络:

# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

2. 启动空的 PostgreSQL server 实例:

# docker run --name postgres-server -t \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="zabbix_pwd" \
             -e POSTGRES_DB="zabbix" \
             --network=zabbix-net \
             --restart unless-stopped \
             -d postgres:latest

3. 启动 Zabbix snmptraps 实例:

# docker run --name zabbix-snmptraps -t \
             -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
             -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
             --network=zabbix-net \
             -p 162:1162/udp \
             --restart unless-stopped \
             -d zabbix/zabbix-snmptraps:alpine-5.4-latest

Zabbix snmptrap 实例将 162/UDP 端口(SNMP traps)暴露给主机。

4. 启动 Zabbix server 实例,并将其关联到已创建的 PostgreSQL server 实例:

# docker run --name zabbix-server-pgsql -t \
             -e DB_SERVER_HOST="postgres-server" \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="zabbix_pwd" \
             -e POSTGRES_DB="zabbix" \
             -e ZBX_ENABLE_SNMP_TRAPS="true" \
             --network=zabbix-net \
             -p 10051:10051 \
             --volumes-from zabbix-snmptraps \
             --restart unless-stopped \
             -d zabbix/zabbix-server-pgsql:alpine-5.4-latest

Zabbix server 实例将 10051/TCP 端口(Zabbix trapper)暴露给主机。

5. 启动 Zabbix Web 界面,并将其关联到已创建的 PostgreSQL server 和 Zabbix server 实例:

# docker run --name zabbix-web-nginx-pgsql -t \
             -e ZBX_SERVER_HOST="zabbix-server-pgsql" \
             -e DB_SERVER_HOST="postgres-server" \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="zabbix_pwd" \
             -e POSTGRES_DB="zabbix" \
             --network=zabbix-net \
             -p 443:8443 \
             -p 80:8080 \
             -v /etc/ssl/nginx:/etc/ssl/nginx:ro \
             --restart unless-stopped \
             -d zabbix/zabbix-web-nginx-pgsql:alpine-5.4-latest

Zabbix web 界面实例将 443/TCP 端口(HTTPS)暴露给主机。
/etc/ssl/nginx 目录必须包含具有所需名称的证书。

示例 3

该示例示范了如何在Red Hat 8上使用 podman 运行 MySQL 数据库支持的 Zabbix Server 、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java 网关。

1. 创建一个名为 zabbix 的 pod 并暴露端口 (web 界面、Zabbix server trapper):

podman pod create --name zabbix -p 80:8080 -p 10051:10051

2. (可选)在 zabbix pod 中启动 Zabbix agent 容器:

podman run --name zabbix-agent \
           -eZBX_SERVER_HOST="127.0.0.1,localhost" \
           --restart=always \
           --pod=zabbix \
           -d registry.connect.redhat.com/zabbix/zabbix-agent-50:latest

3. 在主机上创建./mysql/ 目录并启动 Oracle MySQL server 8.0:

podman run --name mysql-server -t \
             -e MYSQL_DATABASE="zabbix" \
             -e MYSQL_USER="zabbix" \
             -e MYSQL_PASSWORD="zabbix_pwd" \
             -e MYSQL_ROOT_PASSWORD="root_pwd" \
             -v ./mysql/:/var/lib/mysql/:Z \
             --restart=always \
             --pod=zabbix \
             -d mysql:8.0 \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

3. 启动 Zabbix server 容器:

podman run --name zabbix-server-mysql -t \
                         -e DB_SERVER_HOST="127.0.0.1" \
                         -e MYSQL_DATABASE="zabbix" \
                         -e MYSQL_USER="zabbix" \
                         -e MYSQL_PASSWORD="zabbix_pwd" \
                         -e MYSQL_ROOT_PASSWORD="root_pwd" \
                         -e ZBX_JAVAGATEWAY="127.0.0.1" \
                         --restart=always \
                         --pod=zabbix \
                         -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-50

4. 启动 Zabbix Java 网关容器:

podman run --name zabbix-java-gateway -t \
             --restart=always \
             --pod=zabbix \
             -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-50

5. 启动 Zabbix web 界面 容器:

podman run --name zabbix-web-mysql -t \
                         -e ZBX_SERVER_HOST="127.0.0.1" \
                         -e DB_SERVER_HOST="127.0.0.1" \
                         -e MYSQL_DATABASE="zabbix" \
                         -e MYSQL_USER="zabbix" \
                         -e MYSQL_PASSWORD="zabbix_pwd" \
                         -e MYSQL_ROOT_PASSWORD="root_pwd" \
                         --restart=always \
                         --pod=zabbix \
                         -d registry.connect.redhat.com/zabbix/zabbix-web-mysql-50

zabbix pod 从 zabbix-web-mysql 容器的 8080/TCP 向 主机的 80/TCP port (HTTP) 暴露端口。

Docker Compose

Zabbix 还提供了用于在 Docker 中定义和运行多容器 Zabbix 组件的 compose 文件。 这些 compose 文件可以在 github.com: https://github.com/zabbix/zabbix-docker 上的 Zabbix docker 官方仓库中找到。这些 compose 文件作为示例添加,并支持广泛。例如,Zabbix proxy 支持 MySQL和 SQLite3。

以下为几个不同版本的 compose 文件:

文件名 描述
docker-compose_v3_alpine_mysql_latest.yaml 该 compose 文件运行基于 Alpine Linux 的 Zabbix 5.4 最新版本的组件,支持 MySQL 数据库。
docker-compose_v3_alpine_mysql_local.yaml 该 compose 文件本地构建和运行基于 Alpine Linux 的 Zabbix 5.4 最新版本的组件,支持 MySQL数据库。
docker-compose_v3_alpine_pgsql_latest.yaml 该 compose 文件运行基于 Alpine Linux 的 Zabbix 5.4 最新版本的组件,支持 PostgreSQL 数据库。
docker-compose_v3_alpine_pgsql_local.yaml 该 compose 文件本地构建和运行基于 Apline Linux 的 Zabbix 5.4 最新版本的组件,支持 PostgreSQL 数据库。
docker-compose_v3_centos_mysql_latest.yaml 该 compose 文件运行基于 CentOS 8 的 Zabbix 5.4 最新版本的组件,支持 MySQL 数据库。
docker-compose_v3_centos_mysql_local.yaml 该 compose 文件本地构建和运行基于 CentOS 8 的 Zabbix 5.4 最新版本的组件,支持 MySQL 数据库。
docker-compose_v3_centos_pgsql_latest.yaml 该 compose 文件运行基于 CentOS 8 的 Zabbix 5.4 最新版本的组件,支持 PostgreSQL 数据库。
docker-compose_v3_centos_pgsql_local.yaml 该 compose 文件本地构建和运行基于 CentOS 8 的 Zabbix 5.4 最新版本的组件,支持 PostgreSQL 数据库。
docker-compose_v3_ubuntu_mysql_latest.yaml 该 compose 文件运行基于 Ubuntu 20.04 的 Zabbix 5.4 最新版本的组件,支持 MySQL 数据库。
docker-compose_v3_ubuntu_mysql_local.yaml 该 compose 文件本地构建和运行基于 Ubuntu 20.04 的 Zabbix 5.4 最新版本的组件,支持 MySQL 数据库。
docker-compose_v3_ubuntu_pgsql_latest.yaml 该 compose 文件运行基于 Ubuntu 20.04 的 Zabbix 5.4 最新版本的组件,支持 PostgreSQL 数据库。
docker-compose_v3_ubuntu_pgsql_local.yaml 该 compose 文件本地构建和运行基于 Ubuntu 20.04 的 Zabbix 5.4 最新版本的组件,支持 PosegreSQL 数据库。

Docker compose 文件支持 Docker Compose 3 版本。

存储

Compose 文件已经配置为支持主机上的存储。当你使用 Compose 文件运行 Zabbix 组件时,Docker Compose 将在其所在文件夹中创建一个 zbx_env 目录,该目录将包含于 Volumes 章节所述相同的结构,以用于数据库存储。

此外,volume 下的文件 /etc/localtime/etc/timezone 为只读模式。

环境变量

变量文件具有以下命名结构:.env_<组件类型>,并位于 env_vars 目录 中。 有关变量命名和可用选择的详细信息,请参阅 环境变量

示例

示例 1

# git checkout 5.4
       # docker-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d

这个命令将会为每个 Zabbix 组件下载最新的 Zabbix 5.4 image,并以 detach 模式运行。

不要忘记从 github.com 的 Zabbix 官方镜像仓库下载 .env_<type of component> 文件和 compose 文件。

示例 2

# git checkout 5.4
       # docker-compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d

这个命令将会下载基于 Ubuntu 20.04 的 image,并在本地构建 Zabbix 5.4 组件,以 detach 模式运行。