Áú»¢¶Ä²©

Esta es una traducci¨®n de la p¨¢gina de documentaci¨®n original en espa?ol. Ay¨²danos a mejorarla.

5 ±õ²Ô²õ³Ù²¹±ô²¹³¦¾±¨®²Ô desde contenedores

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô general

Esta secci¨®n describe c¨®mo implementar Áú»¢¶Ä²© con Docker o Docker Compose.

Áú»¢¶Ä²© proporciona oficialmente:

  • Im¨¢genes de Docker separadas para cada componente Áú»¢¶Ä²© para funcionar como contenedores port¨¢tiles y autosuficientes.
  • Archivos de composici¨®n para definir y ejecutar componentes Áú»¢¶Ä²© "multicontenedor" en Docker.

Desde Áú»¢¶Ä²© 6.0, es necesario crear iniciadores deterministas durante la instalaci¨®n. Si el registro binario est¨¢ habilitado para MySQL/MariaDB, esto requiere privilegios de superusuario o establecer el par¨¢metro de configuraci¨®n/variable log_bin_trust_function_creators = 1. Consulte Scripts de creaci¨®n de bases de datos para obtener instrucciones sobre c¨®mo configurar la variable.
Tenga en cuenta que si se ejecuta desde una consola, la variable solo se configurar¨¢ temporalmente y se eliminar¨¢ cuando se reinicie 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 configurar esta variable en el archivo de configuraci¨®n.

Archivos fuente

Las fuentes de los archivos Docker se almacenan en el de Áú»¢¶Ä²© en GitHub donde puede seguir los ¨²ltimos cambios de archivos o bifurcar el proyecto para crear sus propias im¨¢genes.

Docker

Áú»¢¶Ä²© proporciona im¨¢genes basadas en una variedad de imagenes de sistemas operativos. Para obtener la lista de im¨¢genes del sistema operativo base compatibles para un componente Áú»¢¶Ä²© espec¨ªfico, consulte la descripci¨®n del componente en . Todas las im¨¢genes de Áú»¢¶Ä²© est¨¢n configuradas para reconstruir las im¨¢genes m¨¢s recientes si se actualizan las im¨¢genes base.

±õ²Ô²õ³Ù²¹±ô²¹³¦¾±¨®²Ô

Para obtener la imagen del componente Áú»¢¶Ä²©, ejecute:

docker pull zabbix/zabbix-server-mysql

Reemplace zabbix/zabbix-server-mysql con el nombre del repositorio de Docker requerido.

Este comando extraer¨¢ la ¨²ltima versi¨®n estable del componente Áú»¢¶Ä²© basada en el sistema operativo Alpine Linux. Puede agregar etiquetas al nombre del repositorio para obtener una imagen basada en otro sistema operativo o en la versi¨®n principal o secundaria espec¨ªfica de Áú»¢¶Ä²©.

Los siguientes repositorios est¨¢n disponibles en Docker Hub:

Componente Repositorio Docker
Agente Áú»¢¶Ä²©
Servidor Áú»¢¶Ä²©
con soporte MySQL
con soporte PostgreSQL
Interfaz web de Áú»¢¶Ä²©
basado en el servidor web Apache2 con soporte MySQL
basado en el servidor web Apache2 con soporte PostgreSQL
basado en el servidor web Nginx con soporte MySQL
basado en el servidor web Nginx con soporte PostgreSQL
Proxy Áú»¢¶Ä²©
con soporte SQLite3
con soporte MySQL
Áú»¢¶Ä²© Java Gateway

La compatibilidad con capturas SNMP se proporciona en un repositorio separado [zabbix/zabbix-snmptraps] (https://hub.docker.com/r/zabbix/zabbix-snmptraps/). Se puede vincular con el servidor Áú»¢¶Ä²© y el Proxy Áú»¢¶Ä²©.

Etiquetas

Las im¨¢genes oficiales de los componentes de Áú»¢¶Ä²© pueden contener las siguientes etiquetas:

Etiqueta ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô Ejemplo
latest La ¨²ltima versi¨®n estable de un componente Áú»¢¶Ä²© basado en la imagen de Alpine Linux. zabbix-agent:latest
<SO>-trunk La ¨²ltima versi¨®n nocturna de Áú»¢¶Ä²© que se est¨¢ desarrollando actualmente en un sistema operativo espec¨ªfico.

<OS> - el sistema operativo base. Valores admitidos:
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
<SO>-latest La ¨²ltima versi¨®n estable de un componente de Áú»¢¶Ä²© en un sistema operativo espec¨ªfico.

<OS> - el sistema operativo base. Valores admitidos:
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 Áú»¢¶Ä²© de una versi¨®n principal y un sistema operativo espec¨ªficos.

<OS> - el sistema operativo base. Valores admitidos:
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 Áú»¢¶Ä²© (es decir, 6.0, 7.0, 7.2).
zabbix-agent:alpine-7.0-latest
<OS>-X.X.* La ¨²ltima versi¨®n menor de un componente de Áú»¢¶Ä²© de una versi¨®n principal y un sistema operativo espec¨ªficos.

<OS> - el sistema operativo base. Valores admitidos:
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 Áú»¢¶Ä²© (es decir, 6.0, 7.0, 7.2).

* - la versi¨®n menor de Áú»¢¶Ä²©
zabbix-agent:alpine-7.0.1

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô 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 los puntos-de-montaje requeridos. A continuaci¨®n, se proporcionan algunos ejemplos de configuraci¨®n.

Áú»¢¶Ä²© no debe ejecutarse como PID1/como un proceso de inicio en contenedores en Áú»¢¶Ä²© 7.0.0-7.0.2.

Para habilitar la comunicaci¨®n entre los componentes de Áú»¢¶Ä²©, algunos puertos, como 10051/TCP para el servidor Áú»¢¶Ä²© (trapper), 10050/TCP para el agente Áú»¢¶Ä²©, 162/UDP para las trampas SNMP y 80/TCP para la interfaz web de Áú»¢¶Ä²©, se expondr¨¢n a una m¨¢quina host. La lista completa de puertos predeterminados que utilizan los componentes de Áú»¢¶Ä²© est¨¢ disponible en la p¨¢gina Requisitos. Para el servidor y el agente de Áú»¢¶Ä²©, el puerto predeterminado se puede cambiar configurando la variable de entorno ZBX_LISTENPORT.

Variables de entorno

Todas las im¨¢genes de componentes de Áú»¢¶Ä²© proporcionan variables de entorno para controlar la configuraci¨®n. Las variables de entorno admitidas se enumeran en el repositorio de componentes.

Estas variables de entorno son opciones de los archivos de configuraci¨®n de Áú»¢¶Ä²©, pero con un m¨¦todo de nomenclatura diferente. Por ejemplo, ZBX_LOGSLOWQUERIES es igual a LogSlowQueries de los archivos de configuraci¨®n del servidor Áú»¢¶Ä²© y proxy Áú»¢¶Ä²©.

Algunas de las opciones de configuraci¨®n no se pueden cambiar. Por ejemplo, PIDFile y LogType.

Las siguientes variables de entorno son espec¨ªficas de los componentes de Docker y no existen en los archivos de configuraci¨®n de Áú»¢¶Ä²©:

Variable Componentes Valor predeterminado ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
DB_SERVER_HOST Servidor
Proxy
Interfaz web
mysql-server para MYSQL
postgres-server para PostgreSQL
Nombre IP o DNS del servidor MySQL o PostgreSQL.
DB_SERVER_PORT Servidor
Proxy
Interfaz web
3306 para MYSQL
5432 para PostgreSQL
Puerto del servidor MySQL o PostgreSQL.
MYSQL_USER Servidor
Proxy
Interfaz web
zabbix Usuario de la base de datos MySQL.
MYSQL_PASSWORD Servidor
Proxy
Interfaz web
zabbix Contrase?a de la base de datos MySQL.
MYSQL_DATABASE Servidor
Proxy
Interfaz web
zabbix para servidor Áú»¢¶Ä²©
zabbix_proxy para proxy Áú»¢¶Ä²©
Nombre de la base de datos Áú»¢¶Ä²©.
POSTGRES_USER Servidor
Interfaz web
zabbix Usuario de la base de datos PostgreSQL.
POSTGRES_PASSWORD Servidor
Interfaz web
zabbix Contrase?a de la base de datos PostgreSQL.
POSTGRES_DB Servidor
Interfaz web
zabbix para servidor Áú»¢¶Ä²©
zabbix_proxy para proxy Áú»¢¶Ä²©
Nombre de la base de datos Áú»¢¶Ä²©.
PHP_TZ Interfaz web Europa/Riga Zona horaria en formato PHP. La lista completa de zonas horarias admitidas est¨¢ disponible en .
ZBX_SERVER_NAME Interfaz web Áú»¢¶Ä²© Docker Nombre de instalaci¨®n de Áú»¢¶Ä²© visible en la esquina superior derecha de la interfaz web.
ZBX_JAVAGATEWAY_ENABLE Servidor
Proxy
false Habilita la comunicaci¨®n con la puerta de enlace de Java de Áú»¢¶Ä²© para recopilar comprobaciones relacionadas con Java.
ZBX_ENABLE_SNMP_TRAPS Servidor
Proxy
false Habilita la funci¨®n de captura SNMP. Requiere una instancia zabbix-snmptraps y un volumen compartido /var/lib/zabbix/snmptraps para el servidor Áú»¢¶Ä²© o el proxy Áú»¢¶Ä²©.
³Õ´Ç±ô¨²³¾±ð²Ô±ð²õ

Las im¨¢genes permiten montar vol¨²menes utilizando los siguientes puntos de montaje:

Volumen ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
Agente de Áú»¢¶Ä²©
/etc/zabbix/zabbix_agentd.d El volumen permite incluir archivos *.conf y extender el agente Áú»¢¶Ä²© usando la funci¨®n UserParameter
/var/lib/zabbix/modules El volumen permite cargar m¨®dulos adicionales y extender el agente Áú»¢¶Ä²© usando la funci¨®n LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE
Servidor Áú»¢¶Ä²©
/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 para verificaciones externas. Es el par¨¢metro ExternalScripts en zabbix_server.conf
/var/lib/zabbix/modules El volumen permite cargar m¨®dulos adicionales y ampliar el servidor Áú»¢¶Ä²© usando la funci¨®n LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de 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 certificado de cliente SSL para la autenticaci¨®n del cliente. Es el par¨¢metro SSLCertLocation en zabbix_server.conf
/var/lib/zabbix/ssl/keys El volumen se utiliza como ubicaci¨®n de archivos de clave privada SSL para la autenticaci¨®n del cliente. 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 del servidor SSL. Es el par¨¢metro SSLCALocation en zabbix_server.conf
/var/lib/zabbix/snmptraps El volumen se utiliza como ubicaci¨®n del archivo snmptraps.log. Podr¨ªa compartirse mediante el contenedor zabbix-snmptraps y heredarse usando la opci¨®n volumes_from Docker al crear una nueva instancia del servidor Áú»¢¶Ä²©. La funci¨®n de procesamiento de capturas SNMP podr¨ªa habilitarse usando un volumen compartido y cambiando la variable de entorno ZBX_ENABLE_SNMP_TRAPS a 'true'
/var/lib/zabbix/mibs El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben colocarse en /var/lib/zabbix/mibs
Proxy Áú»¢¶Ä²©
/usr/lib/zabbix/externalscripts El volumen es utilizado para verificaciones externas. Es el par¨¢metro ExternalScripts en zabbix_proxy.conf
/var/lib/zabbix/db_data/ El volumen permite almacenar archivos de bases de datos en dispositivos externos. Compatible solo con proxy Áú»¢¶Ä²© con SQLite3
/var/lib/zabbix/modules El volumen permite cargar m¨®dulos adicionales y ampliar el servidor Áú»¢¶Ä²© usando la funci¨®n LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de 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 certificado de cliente SSL para la autenticaci¨®n del cliente. Es el par¨¢metro SSLCertLocation en zabbix_proxy.conf
/var/lib/zabbix/ssl/keys El volumen se utiliza como ubicaci¨®n de archivos de clave privada SSL para la autenticaci¨®n del cliente. 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 del servidor SSL. Es el par¨¢metro SSLCALocation en zabbix_proxy.conf
/var/lib/zabbix/snmptraps El volumen se utiliza como ubicaci¨®n del archivo snmptraps.log. Podr¨ªa ser compartido por el contenedor zabbix-snmptraps y heredado usando la opci¨®n volumes_from Docker al crear una nueva instancia del servidor Áú»¢¶Ä²©. La funci¨®n de procesamiento de capturas SNMP podr¨ªa habilitarse usando un volumen compartido y cambiando la variable de entorno ZBX_ENABLE_SNMP_TRAPS a 'true'
/var/lib/zabbix/mibs El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben colocarse en /var/lib/zabbix/mibs
Interfaz web Áú»¢¶Ä²© basada en el servidor web Apache2
/etc/ssl/apache2 El volumen permite habilitar HTTPS para la interfaz web de Áú»¢¶Ä²©. El volumen debe contener los dos archivos ssl.crt y ssl.key preparados para conexiones SSL Apache2
Interfaz web Áú»¢¶Ä²© basada en servidor web Nginx
/etc/ssl/nginx El volumen permite habilitar HTTPS para la interfaz web de Áú»¢¶Ä²©. El volumen debe contener los dos archivos ssl.crt, ssl.key y dhparam.pem preparados para conexiones SSL de Nginx
Áú»¢¶Ä²© snmptraps
/var/lib/zabbix/snmptraps El volumen contiene el archivo de registro snmptraps.log cuyo nombre contiene las capturas SNMP recibidas
/var/lib/zabbix/mibs El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben colocarse en /var/lib/zabbix/mibs

Para obtener informaci¨®n adicional, consulte los repositorios oficiales de Áú»¢¶Ä²© en Docker. Hub.

Ejemplos de uso

** Ejemplo 1 **

El ejemplo demuestra c¨®mo ejecutar el servidor Áú»¢¶Ä²© con soporte para la base de datos MySQL, interfaz web de Áú»¢¶Ä²© basada en el servidor web Nginx y Áú»¢¶Ä²© Java gateway.

1. Crear una red dedicada para los contenedores componentes de Áú»¢¶Ä²©:

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

2. Iniciar la instancia vac¨ªa del servidor 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 \
             --restart unless-stopped \
             -d mysql:8.0-oracle \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

3. Iniciar la instancia Java gateway de Áú»¢¶Ä²©

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

4. Iniciar la instancia del servidor Áú»¢¶Ä²© y enlazar con la instancia creada del servidor MySQL

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.0-latest

5. Iniciar la interfaz web de Áú»¢¶Ä²© y enlazar la instancias creadas del servidor MySQL y del servidor Áú»¢¶Ä²©.

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.0-latest

Ejemplo 2

El ejemplo demuestra c¨®mo ejecutar el servidor Áú»¢¶Ä²© con soporte a la base de datos PostgreSQL, interfaz web de Áú»¢¶Ä²© basada en el servidor web Nginx y capacidad de captura SNMP.

1. Crear una red dedicada para los contenedores componentes de Áú»¢¶Ä²©:

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

2. Iniciar la instancia vac¨ªa del servidor PostgreSQL

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. Iniciar la instancia snmptraps de Áú»¢¶Ä²©

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.0-latest

4. Iniciar la instancia del servidor Áú»¢¶Ä²© y enlazar con la instancia creada del servidor PostgreSQL

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.0-latest

5. Iniciar la interfaz web de Áú»¢¶Ä²© y enlace la instancias creadas del servidor PostgreSQL y del servidor Áú»¢¶Ä²©

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.0-latest

Ejemplo 3

El ejemplo demuestra c¨®mo ejecutar el servidor Áú»¢¶Ä²© con soporte a la base de datos MySQL, interfaz web de Áú»¢¶Ä²© basada en el servidor web Nginx y Áú»¢¶Ä²© Java gateway usando podman en Red Hat 8.

1. Crear un nuevo pod llamado zabbix y exponer los puertos (interfaz web, servidor de captura Áú»¢¶Ä²©):

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

2. (opcional) Iniciar el contenedor del agente Áú»¢¶Ä²© en el 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-70:latest

3. Crear el directorio./mysql/ en el equipo e iniciar el servidor Oracle MySQL 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

4. Iniciar el contenedor del servidor Áú»¢¶Ä²©:

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

5. Iniciar el contenedor Java Gateway de Áú»¢¶Ä²©:

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

6. Iniciar el contenedor de la interfaz web de Áú»¢¶Ä²©:

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

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

Componente acoplable

Alternativamente, Áú»¢¶Ä²© se puede instalar usando el complemento Docker Compose. Los archivos de redacci¨®n para definir y ejecutar componentes Áú»¢¶Ä²© de m¨²ltiples contenedores est¨¢n disponibles en el oficial en GitHub.

Los archivos de composici¨®n oficiales de Áú»¢¶Ä²© son compatibles con la versi¨®n 3 de Docker Compose.

Estos archivos de redacci¨®n se agregan como ejemplos; est¨¢n sobrecargados. Por ejemplo, contienen servidores proxy compatibles con MySQL y SQLite3.

Para obtener archivos de redacci¨®n de Docker proporcionados por Áú»¢¶Ä²©, clone el repositorio:

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

Cambie a la versi¨®n requerida:

git checkout 7.0

Redacte archivos de configuraci¨®n y cree e inicie contenedores:

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

Reemplace docker-compose_v3_alpine_mysql_latest.yaml en el comando anterior con el archivo de configuraci¨®n requerido.

Las siguientes opciones est¨¢n disponibles:

Nombre de archivo ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
docker-compose_v3_alpine_mysql_latest.yaml El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Alpine Linux con soporte de base de datos MySQL.
docker-compose_v3_alpine_mysql_local.yaml El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Alpine Linux con soporte de base de datos MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Alpine Linux con soporte de base de datos PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Alpine Linux con soporte de base de datos PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Oracle Linux con soporte de base de datos MySQL.
docker-compose_v3_ol_mysql_local.yaml El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Oracle Linux con soporte de base de datos MySQL.
docker-compose_v3_ol_pgsql_latest.yaml El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Oracle Linux con soporte de base de datos PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Oracle Linux con soporte de base de datos PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes de Áú»¢¶Ä²© 7.0 en Ubuntu 20.04 con soporte de base de datos MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Ubuntu 20.04 con soporte de base de datos MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes de Áú»¢¶Ä²© 7.0 en Ubuntu 20.04 con soporte de base de datos PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Ubuntu 20.04 con soporte de 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 Áú»¢¶Ä²© usando el archivo de composici¨®n. El directorio contendr¨¢ la misma estructura que la descrita anteriormente en la Secci¨®n ³Õ´Ç±ô¨²³¾±ð²Ô±ð²õ 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 env_vars. Consulte las variables de entorno para obtener detalles sobre los nombres de las variables y la selecci¨®n disponible.

Ejemplos

Ejemplo 1

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

El comando descargar¨¢ las ¨²ltimas im¨¢genes de Áú»¢¶Ä²© 7.0 para cada componente de Áú»¢¶Ä²© y las ejecutar¨¢ en modo desconectado.

No olvide descargar archivos .env_<tipo de componente> del repositorio oficial de Áú»¢¶Ä²© de github.com con los archivos de redacci¨®n.

Ejemplo 2

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

El comando descargar¨¢ la imagen base Ubuntu 22.04 (jammy), luego compilar¨¢ los componentes Áú»¢¶Ä²© 7.0 localmente y los ejecutar¨¢ en modo desconectado.