Esta página incluye contenido traducido automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

5 Instalación desde contenedores

Descripción general

Esta sección describe cómo implementar Zabbix con Docker o Docker Compose.

Zabbix proporciona oficialmente:

  • Imágenes Docker separadas para cada componente de Zabbix para ejecutarse como contenedores portátiles y autosuficientes.
  • Archivos Compose para definir y ejecutar componentes Zabbix de múltiples contenedores en Docker.

Desde Zabbix 6.0, los triggers deterministas deben crearse durante la instalación. Si el registro binario está habilitado para MySQL/MariaDB, esto requiere privilegios de superusuario o establecer la variable/parámetro de configuración log_bin_trust_function_creators = 1. Consulte Scripts de creación de base de datos para obtener instrucciones sobre cómo establecer la variable.
Tenga en cuenta que si se ejecuta desde una consola, la variable solo se establecerá temporalmente y se eliminará cuando se reinicie un Docker. En este caso, mantenga su servicio SQL en ejecución, solo detenga el servicio zabbix-server ejecutando 'docker compose down zabbix-server' y luego 'docker compose up -d zabbix-server'.
Alternativamente, puede establecer esta variable en el archivo de configuración.

Archivos fuente

Los archivos fuente de Docker se almacenan en el repositorio oficial de Zabbix en GitHub, donde puede seguir los últimos cambios de archivos o bifurcar el proyecto para crear sus propias imágenes.

Docker

Zabbix proporciona imágenes basadas en una variedad de imágenes base de sistemas operativos. Para obtener la lista de imágenes base de sistemas operativos soportadas para un componente específico de Zabbix, consulte la descripción del componente en Docker Hub. Todas las imágenes de Zabbix están configuradas para reconstruir las imágenes más recientes si se actualizan las imágenes base.

Instalación

Para obtener la imagen de un componente de Zabbix, ejecute:

docker pull zabbix/zabbix-server-mysql

Reemplace zabbix/zabbix-server-mysql por el nombre del repositorio docker requerido.

Este comando descargará la última versión estable del componente Zabbix basada en el sistema operativo Alpine Linux. Puede añadir etiquetas al nombre del repositorio para obtener una imagen basada en otro sistema operativo o de una versión mayor o menor específica de Zabbix.

Los siguientes repositorios están disponibles en Docker Hub:

Componente Repositorio Docker
Zabbix agent zabbix/zabbix-agent
Zabbix server
con soporte para MySQL zabbix/zabbix-server-mysql
con soporte para PostgreSQL zabbix/zabbix-server-pgsql
Interfaz web de Zabbix
basada en el servidor web Apache2 con soporte para MySQL zabbix/zabbix-web-apache-mysql
basada en el servidor web Apache2 con soporte para PostgreSQL zabbix/zabbix-web-apache-pgsql
basada en el servidor web Nginx con soporte para MySQL zabbix/zabbix-web-nginx-mysql
basada en el servidor web Nginx con soporte para PostgreSQL zabbix/zabbix-web-nginx-pgsql
Zabbix proxy
con soporte para SQLite3 zabbix/zabbix-proxy-sqlite3
con soporte para MySQL zabbix/zabbix-proxy-mysql
Zabbix Java gateway zabbix/zabbix-java-gateway

El soporte para SNMP trap se proporciona en un repositorio separado zabbix/zabbix-snmptraps. Puede vincularse con Zabbix server y Zabbix proxy.

Etiquetas

Las imágenes oficiales de los componentes de Zabbix pueden contener las siguientes etiquetas:

Etiqueta Descripción Ejemplo
latest La última versión estable de un componente de Zabbix basada en la imagen de Alpine Linux. zabbix-agent:latest
<OS>-trunk La última compilación nocturna de la versión de Zabbix que se está desarrollando actualmente en un sistema operativo específico.

<OS> - el sistema operativo base. Valores soportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (solo agente);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (solo agente);
ubuntu - Ubuntu
zabbix agent:ubuntu-trunk
<OS>-latest La última versión estable de un componente de Zabbix en un sistema operativo específico.

<OS> - el sistema operativo base. Valores soportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (solo agente);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (solo agente);
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest La última versión menor de un componente de Zabbix de una versión principal y sistema operativo específicos.

<OS> - el sistema operativo base. Valores soportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (solo agente);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (solo agente);
ubuntu - Ubuntu

X.X - la versión principal de Zabbix (es decir, 6.0, 7.0, 7.4).
zabbix-agent:alpine-7.4-latest
<OS>-X.X.* La última versión menor de un componente de Zabbix de una versión principal y sistema operativo específicos.

<OS> - el sistema operativo base. Valores soportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (solo agente);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (solo agente);
ubuntu - Ubuntu

X.X - la versión principal de Zabbix (es decir, 6.0, 7.0, 7.4).

* - la versión menor de Zabbix
zabbix-agent:alpine-7.4.1

Configuración inicial

Después de descargar las imágenes, inicie los contenedores ejecutando el comando docker run seguido de argumentos adicionales para especificar las variables de entorno y/o puntos de montaje requeridos. A continuación se proporcionan algunos ejemplos de configuración.

Para habilitar la comunicación entre los componentes de Zabbix, algunos puertos, como 10051/TCP para el servidor Zabbix (trapper), 10050/TCP para el agent Zabbix, 162/UDP para traps SNMP y 80/TCP para la interfaz web de Zabbix, se expondrán a la máquina host. La lista completa de puertos predeterminados utilizados por los componentes de Zabbix está disponible en la página de Requisitos. Para el servidor y el agent de Zabbix, el puerto predeterminado se puede cambiar configurando la variable de entorno ZBX_LISTENPORT environment variable.

Variables de entorno

Todas las imágenes de los componentes de Zabbix proporcionan variables de entorno para controlar la configuración. Las variables de entorno soportadas se enumeran en el repositorio del componente.

Estas variables de entorno son opciones de los archivos de configuración de Zabbix, pero con un método de nomenclatura diferente. Por ejemplo, ZBX_LOGSLOWQUERIES es igual a LogSlowQueries de los archivos de configuración de Zabbix server o Zabbix proxy.

Algunas opciones de configuración (por ejemplo, PIDFile y LogType) no se pueden cambiar.

Las siguientes variables de entorno son específicas de los componentes Docker y no existen en los archivos de configuración de Zabbix:

Variable Componentes Valor por defecto Descripción
DB_SERVER_HOST Server
Proxy
Web interface
mysql-server para MYSQL
postgres-server para PostgreSQL
IP o nombre DNS del servidor MySQL o PostgreSQL.
DB_SERVER_PORT Server
Proxy
Web interface
3306 para MYSQL
5432 para PostgreSQL
Puerto del servidor MySQL o PostgreSQL.
MYSQL_USER Server
Proxy
Web-interface
zabbix Usuario de la base de datos MySQL.
MYSQL_PASSWORD Server
Proxy
Web interface
zabbix Contraseña de la base de datos MySQL.
MYSQL_DATABASE Server
Proxy
Web interface
zabbix para Zabbix server
zabbix_proxy para Zabbix proxy
Nombre de la base de datos Zabbix.
POSTGRES_USER Server
Web interface
zabbix Usuario de la base de datos PostgreSQL.
POSTGRES_PASSWORD Server
Web interface
zabbix Contraseña de la base de datos PostgreSQL.
POSTGRES_DB Server
Web interface
zabbix para Zabbix server
zabbix_proxy para Zabbix proxy
Nombre de la base de datos Zabbix.
PHP_TZ Web-interface Europe/Riga Zona horaria en formato PHP. La lista completa de zonas horarias soportadas está disponible en php.net.
ZBX_SERVER_NAME Web interface Zabbix Docker Nombre visible de la instalación de Zabbix debajo del logo de Zabbix en el menú vertical de la interfaz web.
ZBX_JAVAGATEWAY_ENABLE Server
Proxy
false Habilita la comunicación con Zabbix Java gateway para recopilar comprobaciones relacionadas con Java.
ZBX_ENABLE_SNMP_TRAPS Server
Proxy
false Habilita la función de traps SNMP. Requiere una instancia zabbix-snmptraps y un volumen compartido /var/lib/zabbix/snmptraps para Zabbix server o Zabbix proxy.
Volúmenes

Las imágenes permiten montar volúmenes utilizando los siguientes puntos de montaje:

Volumen Descripción
Zabbix agent
/etc/zabbix/zabbix_agentd.d El volumen permite incluir archivos *.conf y ampliar Zabbix agent utilizando la funcionalidad UserParameter
/var/lib/zabbix/modules El volumen permite cargar módulos adicionales y ampliar Zabbix agent utilizando la funcionalidad LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Los nombres de estos archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE
Zabbix server
/usr/lib/zabbix/alertscripts El volumen se utiliza para scripts de alerta personalizados. Es el parámetro AlertScriptsPath en zabbix_server.conf
/usr/lib/zabbix/externalscripts El volumen es utilizado por external checks. Es el parámetro ExternalScripts en zabbix_server.conf
/var/lib/zabbix/modules El volumen permite cargar módulos adicionales y ampliar Zabbix server utilizando la funcionalidad LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Los nombres de estos archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs El volumen se utiliza como ubicación de los archivos de certificados de cliente SSL para la autenticación de clientes. Es el parámetro SSLCertLocation en zabbix_server.conf
/var/lib/zabbix/ssl/keys El volumen se utiliza como ubicación de los archivos de clave privada SSL para la autenticación de clientes. Es el parámetro SSLKeyLocation en zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca El volumen se utiliza como ubicación de los archivos de la autoridad certificadora (CA) para la verificación del certificado SSL del servidor. Es el parámetro SSLCALocation en zabbix_server.conf
/var/lib/zabbix/snmptraps El volumen se utiliza como ubicación del archivo snmptraps.log. Puede ser compartido por el contenedor zabbix-snmptraps y heredado utilizando la opción volumes_from de Docker al crear una nueva instancia de Zabbix server. La funcionalidad de procesamiento de traps SNMP puede habilitarse utilizando el volumen compartido y cambiando la variable de entorno ZBX_ENABLE_SNMP_TRAPS a 'true'
/var/lib/zabbix/mibs El volumen permite añadir nuevos archivos MIB. No soporta subdirectorios, todas las MIBs deben colocarse en /var/lib/zabbix/mibs
Zabbix proxy
/usr/lib/zabbix/externalscripts El volumen es utilizado por external checks. Es el parámetro ExternalScripts en zabbix_proxy.conf
/var/lib/zabbix/db_data/ El volumen permite almacenar archivos de base de datos en dispositivos externos. Soportado solo para Zabbix proxy con SQLite3
/var/lib/zabbix/modules El volumen permite cargar módulos adicionales y ampliar Zabbix server utilizando la funcionalidad LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Los nombres de estos archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs El volumen se utiliza como ubicación de los archivos de certificados de cliente SSL para la autenticación de clientes. Es el parámetro SSLCertLocation en zabbix_proxy.conf
/var/lib/zabbix/ssl/keys El volumen se utiliza como ubicación de los archivos de clave privada SSL para la autenticación de clientes. Es el parámetro SSLKeyLocation en zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca El volumen se utiliza como ubicación de los archivos de la autoridad certificadora (CA) para la verificación del certificado SSL del servidor. Es el parámetro SSLCALocation en zabbix_proxy.conf
/var/lib/zabbix/snmptraps El volumen se utiliza como ubicación del archivo snmptraps.log. Puede ser compartido por el contenedor zabbix-snmptraps y heredado utilizando la opción volumes_from de Docker al crear una nueva instancia de Zabbix server. La funcionalidad de procesamiento de traps SNMP puede habilitarse utilizando el volumen compartido y cambiando la variable de entorno ZBX_ENABLE_SNMP_TRAPS a 'true'
/var/lib/zabbix/mibs El volumen permite añadir nuevos archivos MIB. No soporta subdirectorios, todas las MIBs deben colocarse en /var/lib/zabbix/mibs
Interfaz web de Zabbix basada en el servidor web Apache2
/etc/ssl/apache2 El volumen permite habilitar HTTPS para la interfaz web de Zabbix. El volumen debe contener los dos archivos ssl.crt y ssl.key preparados para conexiones SSL de Apache2
Interfaz web de Zabbix basada en el servidor web Nginx
/etc/ssl/nginx El volumen permite habilitar HTTPS para la interfaz web de Zabbix. El volumen debe contener los dos archivos ssl.crt, ssl.key y dhparam.pem preparados para conexiones SSL de Nginx
Zabbix snmptraps
/var/lib/zabbix/snmptraps El volumen contiene el archivo de registro snmptraps.log nombrado con los traps SNMP recibidos
/var/lib/zabbix/mibs El volumen permite añadir nuevos archivos MIB. No soporta subdirectorios, todas las MIBs deben colocarse en /var/lib/zabbix/mibs

Para información adicional, consulte los repositorios oficiales de Zabbix en Docker Hub.

Ejemplos

Ejemplo 1

El ejemplo muestra cómo ejecutar el servidor Zabbix con soporte para base de datos MySQL, la interfaz web de Zabbix basada en el servidor web Nginx y Zabbix Java gateway.

1. Cree una red dedicada para los contenedores de los componentes de Zabbix:

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

2. Inicie una instancia vacía de MySQL server:

Para versiones de MySQL 8.4+, se debe usar caching_sha2_password en lugar de mysql_native_password.

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 \
             --restart unless-stopped \
             -d mysql:8.0-oracle \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

3. Inicie una instancia de Zabbix Java gateway:

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

4. Inicie una instancia de Zabbix server y vincule la instancia con la instancia de MySQL server creada:

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-7.4-latest

5. Inicie la interfaz web de Zabbix y vincule la instancia con las instancias de MySQL server y Zabbix server creadas:

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-7.4-latest

Ejemplo 2

El ejemplo muestra cómo ejecutar el servidor Zabbix con soporte para base de datos PostgreSQL, la interfaz web de Zabbix basada en el servidor web Nginx y la función de SNMP trap.

1. Cree una red dedicada para los contenedores de los componentes de Zabbix:

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

2. Inicie una instancia vacía de 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. Inicie una instancia de 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-7.4-latest

4. Inicie una instancia de Zabbix server y vincule la instancia con la instancia de PostgreSQL server creada:

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-7.4-latest

5. Inicie la interfaz web de Zabbix y vincule la instancia con las instancias de PostgreSQL server y Zabbix server creadas:

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-7.4-latest

Ejemplo 3

El ejemplo muestra cómo ejecutar el servidor Zabbix con soporte para base de datos MySQL, la interfaz web de Zabbix basada en el servidor web Nginx y Zabbix Java gateway usando podman en Red Hat 8.

1. Cree un nuevo pod con el nombre zabbix y los puertos expuestos (interfaz web, Zabbix server trapper):

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

2. (opcional) Inicie el contenedor de Zabbix agent en la ubicación del pod zabbix:

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

3. Cree el directorio ./mysql/ en el host e inicie Oracle MySQL server 8.0:

Para versiones de MySQL 8.4+, se debe usar caching_sha2_password en lugar de mysql_native_password.

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

4. Inicie el contenedor de 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-74

5. Inicie el contenedor de Zabbix Java Gateway:

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

6. Inicie el contenedor de la interfaz web de Zabbix:

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-74

El pod zabbix expone el puerto 80/TCP (HTTP) a la máquina host desde el 8080/TCP del contenedor zabbix-web-mysql.

Docker Compose

Alternativamente, Zabbix puede instalarse utilizando el plugin Docker Compose. Los archivos Compose para definir y ejecutar componentes Zabbix multi-contenedor están disponibles en el repositorio oficial de Zabbix Docker en GitHub.

Los archivos compose oficiales de Zabbix soportan la versión 3 de Docker Compose.

Estos archivos compose se añaden como ejemplos; están sobrecargados. Por ejemplo, contienen proxies con soporte tanto para MySQL como para SQLite3.

Para obtener los archivos Docker compose proporcionados por Zabbix, clone el repositorio:

git clone https://github.com/zabbix/zabbix-docker.git

Cambie a la versión requerida:

git checkout 7.4

Configure los archivos de configuración y cree e inicie los contenedores:

docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up

Reemplace docker-compose_v3_alpine_mysql_latest.yaml en el comando anterior por el archivo de configuración requerido.

Las siguientes opciones están disponibles:

Nombre de archivo Descripción
docker-compose_v3_alpine_mysql_latest.yaml El archivo compose ejecuta la última versión de los componentes de Zabbix 7.4 en Alpine Linux con soporte para base de datos MySQL.
docker-compose_v3_alpine_mysql_local.yaml El archivo compose construye localmente la última versión de Zabbix 7.4 y ejecuta los componentes de Zabbix en Alpine Linux con soporte para base de datos MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml El archivo compose ejecuta la última versión de los componentes de Zabbix 7.4 en Alpine Linux con soporte para base de datos PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml El archivo compose construye localmente la última versión de Zabbix 7.4 y ejecuta los componentes de Zabbix en Alpine Linux con soporte para base de datos PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml El archivo compose ejecuta la última versión de los componentes de Zabbix 7.4 en Oracle Linux con soporte para base de datos MySQL.
docker-compose_v3_ol_mysql_local.yaml El archivo compose construye localmente la última versión de Zabbix 7.4 y ejecuta los componentes de Zabbix en Oracle Linux con soporte para base de datos MySQL.
docker-compose_v3_ol_pgsql_latest.yaml El archivo compose ejecuta la última versión de los componentes de Zabbix 7.4 en Oracle Linux con soporte para base de datos PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml El archivo compose construye localmente la última versión de Zabbix 7.4 y ejecuta los componentes de Zabbix en Oracle Linux con soporte para base de datos PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml El archivo compose ejecuta la última versión de los componentes de Zabbix 7.4 en Ubuntu 22.04 con soporte para base de datos MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml El archivo compose construye localmente la última versión de Zabbix 7.4 y ejecuta los componentes de Zabbix en Ubuntu 22.04 con soporte para base de datos MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml El archivo compose ejecuta la última versión de los componentes de Zabbix 7.4 en Ubuntu 22.04 con soporte para base de datos PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml El archivo compose construye localmente la última versión de Zabbix 7.4 y ejecuta los componentes de Zabbix en Ubuntu 22.04 con soporte para base de datos PostgreSQL.

Almacenamiento

Los archivos de composición están configurados para admitir el almacenamiento local en una máquina anfitriona. Docker Compose creará un directorio zbx_env en la carpeta con el archivo de composición cuando ejecuta los componentes de Zabbix usando el archivo de composición. El directorio contendrá la misma estructura que la descrita anteriormente en la Sección Volúmenes y el directorio para el almacenamiento de la base de datos.

También hay volúmenes en modo de solo lectura para los archivos /etc/localtime y /etc/timezone.

Variables de entorno

Los archivos de variables tienen la siguiente estructura de nombres: .env_<tipo de componente> y se encuentran en el directorio env_vars. Consulte variables de entorno para obtener detalles sobre la nomenclatura de las variables y la selección disponible.

Ejemplos

Ejemplo 1

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

El comando descargará las últimas imágenes de Zabbix 7.4 para cada componente de Zabbix y las ejecutará en modo detach.

No olvide descargar los archivos .env_<tipo de componente> del repositorio oficial de Zabbix en github.com junto con los archivos compose.

Ejemplo 2

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

El comando descargará la imagen base Ubuntu 24.04 (noble), luego construirá localmente los componentes de Zabbix 7.4 y los ejecutará en modo detach.