5 Instalación desde contenedores

Docker

Zabbix proporciona imágenes Docker para cada componente de Zabbix como contenedores portátiles y autosuficientes para acelerar el proceso de despliegue y actualización.

Los componentes de Zabbix vienen con soporte para bases de datos MySQL y PostgreSQL, así como soporte de servidor web Apache2 y Nginx. Estas imágenes se separan en imágenes diferentes

A partir de Zabbix 6.0, algunos triggers importantes necesitan ser creados durante la instalación. Si el log binario está habilitado para MySQL/MariaDB, se requieren privilegios de superusuario o configurar la variable/parámetro · log_bin_trust_function_creators = 1. Consulte Scripts de creación de bases de datos para instrucciones sobre cómo configurar la variable.
Tenga en cuenta que si se ejecuta desde consola, la variable solo se usará de forma temporal y se borrará cuando Docker se reinicie. En este caso, mantenga su servicio SQL en ejecución, parando solo el servicio de zabbix-server mediante el comando 'docker compose down zabbix-server' y arrancando con 'docker compose up -d zabbix-server'.
Como alternativa, puede configurar esta variable en el archivo de configuración.

Imágenes base de Docker

Los componentes de Zabbix se proporcionan en las imágenes base de Ubuntu, Alpine Linux y CentOS:

Imagen Versión
alpine 3.16
ubuntu 22.04 (jammy)
centos 8

Todas las imágenes están configuradas para reconstruir las últimas imágenes si las imágenes base son actualizadas.

Fuentes de archivos Docker

Todos pueden seguir los cambios del archivo Docker usando el [repositorio oficial] de Zabbix (https://github.com/zabbix/zabbix-docker) en github.com. Puedes bifurcar el proyecto o hacer tu imágenes propias basadas en archivos oficiales de Docker.

Estructura

Todos los componentes de Zabbix están disponibles en los siguientes repositorios Docker:

Además, hay compatibilidad con las capturas SNMP. Se proporciona como repositorio adicional (zabbix/zabbix-snmptraps) basado únicamente en Ubuntu Trusty. Podría estar vinculado con el servidor Zabbix y Proxy de Zabbix.

Versiones

Cada repositorio de componentes de Zabbix contiene las siguientes etiquetas:

  • latest: última versión estable de un componente Zabbix basado en Imagen de Alpine Linux
  • alpine-latest: última versión estable de un componente Zabbix basado en la imagen de Alpine Linux
  • ubuntu-latest: última versión estable de un componente Zabbix basado en la imagen de Ubuntu
  • alpine-6.0-latest: última versión menor de un componente Zabbix 6.0 basado en la imagen de Alpine Linux
  • ubuntu-6.0-latest: última versión menor de un componente Zabbix 6.0 basado en la imagen de Ubuntu
  • alpine-6.0.* - diferentes versiones menores de un componente Zabbix 6.0 basado en la imagen de Alpine Linux, donde * es la versión menor del componente Zabbix
  • ubuntu-6.0.* - diferentes versiones menores de un componente Zabbix 6.0 basado en la imagen de Ubuntu, donde * es la versión menor del componente Zabbix

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 los puntos de montaje requeridos. A continuación, se proporcionan algunos ejemplos de configuración.

Zabbix no debe ejecutarse como PID1/como un proceso init en los contenedores.

Variables de entorno

Todas las imágenes de componentes de Zabbix proporcionan variables de entorno para controlar la configuración. Estas variables de entorno se enumeran en cada repositorio de componentes. Estas variables de entorno son opciones de los archivos de configuración de Zabbix, pero con un método de denominación diferente. Por ejemplo, ZBX_LOGSLOWQUERIES es igual a LogSlowQueries de los archivos de configuración del servidor Zabbix y del proxy de Zabbix.

No se permite cambiar algunas de las opciones de configuración. Por ejemplo, PIDFile y LogType.

Algunos componentes tienen variables de entorno específicas, que no existen en los archivos de configuración oficiales de Zabbix:

Variable Componentes Descripción
DB_SERVER_HOST Servidor
Proxy
Interfaz web
Esta variable es la dirección IP o el nombre DNS del servidor MySQL o PostgreSQL.
De manera predeterminada, el valor es mysql-server o postgres-server para MySQL o PostgreSQL respectivamente
DB_SERVER_PORT Servidor
Proxy
Interfaz web
Esta variable es el puerto del servidor MySQL o PostgreSQL.
De manera predeterminada, el valor es '3306' o '5432' respectivamente.
MYSQL_USER Servidor
Proxy
Interfaz web
Usuario de la base de datos MySQL.
De manera predeterminada, el valor es 'zabbix'.
MYSQL_PASSWORD Servidor
Proxy
Interfaz web
Contraseña de la base de datos MySQL.
De manera predeterminada, el valor es 'zabbix'.
MYSQL_DATABASE Servidor
Proxy
Interfaz web
Nombre de la base de datos de Zabbix.
De manera predeterminada, el valor es 'zabbix' para el servidor Zabbix y 'zabbix_proxy' para el proxy Zabbix.
POSTGRES_USER Servidor
Interfaz web
Usuario de la base de datos PostgreSQL.
De manera predeterminada, el valor es 'zabbix'.
POSTGRES_PASSWORD Servidor
Interfaz web
Contraseña de la base de datos PostgreSQL.
De manera predeterminada, el valor es 'zabbix'.
POSTGRES_DB Servidor
Interfaz web
Nombre de la base de datos de Zabbix.
De manera predeterminada, el valor es 'zabbix'.
PHP_TZ Interfaz web Zona horaria en formato PHP. La lista completa de zonas horarias admitidas está disponible en php.net.
De manera predeterminada, el valor es 'Europe/Riga'.
ZBX_SERVER_NAME Interfaz web Nombre de instalación de Zabbix visible en la esquina superior derecha de la interfaz web.
De manera predeterminada, el valor es 'Zabbix Docker'
ZBX_JAVAGATEWAY_ENABLE Servidor
Proxy
Habilita la comunicación con la puerta de enlace Java de Zabbix para recopilar comprobaciones relacionadas con Java.
De manera predeterminada, el valor es "false"
ZBX_ENABLE_SNMP_TRAPS Servidor
Proxy
Habilita la función de trampa SNMP. Requiere una instancia zabbix-snmptraps y un volumen compartido /var/lib/zabbix/snmptraps para el servidor Zabbix o el proxy Zabbix.
Volúmenes

Las imágenes permiten utilizar algunos puntos de montaje. Estos puntos de montaje son diferentes y dependen del tipo de componente de Zabbix:

Volumen Descripción
Agente Zabbix
/etc/zabbix/zabbix_agentd.d El volumen permite incluir archivos *.conf y ampliar el agente Zabbix utilizando la función UserParameter
/var/lib/zabbix/modules El volumen permite cargar módulos adicionales y ampliar el agente Zabbix utilizando la función LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivo se especifican mediante las variables de entorno ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE
Servidor Zabbix
/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 lo utilizan las comprobaciones 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 Zabbix mediante la función LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivo se especifican mediante 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 los 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 de certificación (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. Puede ser compartido por el contenedor zabbix-snmptraps y heredado utilizando la opción volumes_from Docker al crear una nueva instancia del servidor Zabbix. La función de procesamiento de trampas SNMP se puede habilitar utilizando 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 ubicarse en /var/lib/zabbix/mibs
Proxy Zabbix
/usr/lib/zabbix/externalscripts El volumen es utilizado por comprobaciones externas. 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. Compatible solo con proxy Zabbix con SQLite3
/var/lib/zabbix/modules El volumen permite cargar módulos adicionales y ampliar el servidor Zabbix mediante la función LoadModule
/var/lib/zabbix/enc El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivo se especifican mediante 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 los 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 de certificación (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. Puede ser compartido por el contenedor zabbix-snmptraps y heredado utilizando la opción volumes_from Docker al crear una nueva instancia del servidor Zabbix. La función de procesamiento de trampas SNMP se puede habilitar utilizando 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 ubicarse 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 las 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 las conexiones SSL de Nginx
Zabbix snmptraps
/var/lib/zabbix/snmptraps El volumen contiene el archivo de registro snmptraps.log cuyo nombre incluye las trampas SNMP recibidas
/var/lib/zabbix/mibs El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben ubicarse en /var/lib/zabbix/mibs

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

Ejemplos

** Ejemplo 1 **

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

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

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

3. Iniciar la instancia Java gateway de Zabbix

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

4. Iniciar la instancia del servidor Zabbix 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-5.4-latest

La instancia del servidor Zabbix expone el puerto 10051/TCP port (captura de Zabbix) a la máquina anfitrión.

5. Iniciar la interfaz web de Zabbix y enlazar la instancias creadas del servidor MySQL y del servidor Zabbix.

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

La instancia de la interfaz web de Zabbix expone el puerto 80/TCP (HTTP) a la máquina anfitrión.

** Ejemplo 2 **

El ejemplo demuestra cómo ejecutar el servidor Zabbix con soporte a la base de datos PostgreSQL, interfaz web de Zabbix basada en el servidor web Nginx y características de captura SNMP.

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

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 Zabbix

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

La instancia snmptrap de Zabbix expone el puerto 162/UDP (captura SNMP) al host anfitrión.

4. Iniciar la instancia del servidor Zabbix 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-5.4-latest

La instancia del servidor de Zabbix expone el puerto 10051/UDP (captura Zabbix) al host anfitrión.

5. Iniciar la interfaz web de Zabbix y enlazar la instancias creadas del servidor PostgreSQL y del servidor Zabbix

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

La instancia de la interfaz web de Zabbix expone el puerto 443/TCP (HTTPS) a la máquina anfitrión.
El directorio /etc/ssl/nginx debe contener el certificado con el nombre requerido.

** Ejemplo 3 **

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

1. Crear un nuevo pod llamado zabbix y exponer los puertos (interfaz web, servidor de captura Zabbix):

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

2. (opcional) Iniciar el contenedor del agente Zabbix en el pod zabbix:

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. Crear el directorio./mysql/ en el host 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

3. Iniciar el contenedor del servidor Zabbix:

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. Iniciar el contenedor Java Gateway de Zabbix:

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

5. Iniciar 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-50

El pod zabbix expone el puerto 80/TCP (HTTP) a la máquina anfitrión desde el contenedor zabbix-web-mysql8080/TCP

Docker Compose

Zabbix también proporciona archivos de composición para definir y ejecutar componentes Zabbix de múltiples contenedores en Docker. Estos archivos de composición están disponibles en el repositorio oficial de Docker de Zabbix en github.com: https://github.com/zabbix/zabbix-docker. Estos archivos de composición se agregan como ejemplos, están sobrecargados. Por ejemplo, contienen servidores proxy con compatibilidad con MySQL y SQLite3.

Hay algunas versiones diferentes de archivos de composición:

Nombre de archivo Descripción
docker-compose_v3_alpine_mysql_latest.yaml El archivo de composición ejecuta la última versión de los componentes Zabbix 6.0 en Alpine Linux con compatibilidad con bases de datos MySQL.
docker-compose_v3_alpine_mysql_local.yaml El archivo de composición compila localmente la última versión de Zabbix 6.0 y ejecuta los componentes de Zabbix en Alpine Linux con soporte de base de datos MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml El archivo de composición ejecuta la última versión de los componentes de Zabbix 6.0 en Alpine Linux con soporte de base de datos PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml El archivo de composición compila localmente la última versión de Zabbix 6.0 y ejecuta los componentes de Zabbix en Alpine Linux con soporte de base de datos PostgreSQL.
docker-compose_v3_centos_mysql_latest.yaml El archivo de composición ejecuta la última versión de los componentes de Zabbix 6.0 en CentOS 8 con soporte de base de datos MySQL.
docker-compose_v3_centos_mysql_local.yaml El archivo de composición compila localmente la última versión de Zabbix 6.0 y ejecuta los componentes de Zabbix en CentOS 8 con soporte de base de datos MySQL.
docker-compose_v3_centos_pgsql_latest.yaml El archivo de composición ejecuta la última versión de los componentes de Zabbix 6.0 en CentOS 8 con soporte de base de datos PostgreSQL.
docker-compose_v3_centos_pgsql_local.yaml El archivo de composición compila localmente la última versión de Zabbix 6.0 y ejecuta los componentes de Zabbix en CentOS 8 con soporte de base de datos PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml El archivo de composición ejecuta la última versión de los componentes de Zabbix 6.0 en Ubuntu 20.04 con soporte de base de datos MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml El archivo de composición compila localmente la última versión de Zabbix 6.0 y ejecuta los componentes de Zabbix en Ubuntu 20.04 con soporte de base de datos MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml El archivo de composición ejecuta la última versión de los componentes de Zabbix 6.0 en Ubuntu 20.04 con soporte de base de datos PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml El archivo de composición compila localmente la última versión de Zabbix 6.0 y ejecuta los componentes de Zabbix en Ubuntu 20.04 con soporte de base de datos PostgreSQL.

Los archivos de composición de Docker disponibles son compatibles con la versión 3 de Docker Compose.

Almacenamiento

Los archivos de composición están configurados para admitir el almacenamiento local en una máquina host. 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 Volumes 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.

Archivos de entorno

En el mismo directorio con archivos de composición en github.com puede encontrar archivos con variables de entorno predeterminadas para cada componente en el archivo de composición. Estos archivos de entorno se denominan .env_<tipo de componente>.

Ejemplos

Los comandos que se enumeran a continuación son para Docker Compose V2. Si está utilizando Docker Compose V1, reemplace docker compose -f por docker-compose -f

Ejemplo 1

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

El comando descargará las últimas imágenes de Zabbix 6.0 para cada componente Zabbix y los ejecutará en modo desconectado.

No olvide descargar los archivos .env_<tipo de componente> del repositorio oficial Zabbix de github.com con archivos de redacción.

Ejemplo 2

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

El comando descargará la imagen base Ubuntu 20.04 (focal) y luego compilará los componentes de Zabbix 6.0 localmente y los ejecutará en modo separado.