Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

5 Instalação a partir de containers

Visão geral

Esta seção descreve como implantar o Zabbix com Docker ou Docker Compose.

O Zabbix fornece oficialmente:

  • Imagens Docker separadas para cada componente do Zabbix para serem executadas como containers portáteis e autossuficientes.
  • Arquivos Compose para definir e executar componentes Zabbix multi-container no Docker.

Desde o Zabbix 6.0, triggers determinísticos precisam ser criados durante a instalação. Se o log binário estiver habilitado para MySQL/MariaDB, isso requer privilégios de superusuário ou a configuração da variável/parâmetro de configuração log_bin_trust_function_creators = 1. Veja Scripts de criação de banco de dados para instruções de como definir a variável.
Observe que, se executar a partir de um console, a variável será definida apenas temporariamente e será descartada quando o Docker for reiniciado. Neste caso, mantenha seu serviço SQL em execução, pare apenas o serviço zabbix-server executando 'docker compose down zabbix-server' e depois 'docker compose up -d zabbix-server'.
Como alternativa, você pode definir esta variável no arquivo de configuração.

Arquivos de origem

Os arquivos de origem do Docker estão armazenados no repositório oficial do Zabbix no GitHub, onde você pode acompanhar as últimas alterações nos arquivos ou fazer um fork do projeto para criar suas próprias imagens.

Docker

O Zabbix fornece imagens baseadas em uma variedade de imagens de sistemas operacionais base. Para obter a lista de imagens de sistemas operacionais base suportadas para um componente específico do Zabbix, consulte a descrição do componente no Docker Hub. Todas as imagens do Zabbix são configuradas para reconstruir as imagens mais recentes se as imagens base forem atualizadas.

Instalação

Para obter a imagem do componente Zabbix, execute:

docker pull zabbix/zabbix-server-mysql

Substitua zabbix/zabbix-server-mysql pelo nome do repositório docker necessário.

Este comando irá baixar a versão mais recente e estável do componente Zabbix baseada no sistema operacional Alpine Linux. Você pode adicionar tags ao nome do repositório para obter uma imagem baseada em outro sistema operacional ou de uma versão principal ou secundária específica do Zabbix.

Os seguintes repositórios estão disponíveis no Docker Hub:

Componente Repositório Docker
Zabbix agent zabbix/zabbix-agent
Zabbix server
com suporte a MySQL zabbix/zabbix-server-mysql
com suporte a PostgreSQL zabbix/zabbix-server-pgsql
Interface web do Zabbix
baseada no servidor web Apache2 com suporte a MySQL zabbix/zabbix-web-apache-mysql
baseada no servidor web Apache2 com suporte a PostgreSQL zabbix/zabbix-web-apache-pgsql
baseada no servidor web Nginx com suporte a MySQL zabbix/zabbix-web-nginx-mysql
baseada no servidor web Nginx com suporte a PostgreSQL zabbix/zabbix-web-nginx-pgsql
Zabbix proxy
com suporte a SQLite3 zabbix/zabbix-proxy-sqlite3
com suporte a MySQL zabbix/zabbix-proxy-mysql
Zabbix Java gateway zabbix/zabbix-java-gateway

O suporte a SNMP trap é fornecido em um repositório separado zabbix/zabbix-snmptraps. Ele pode ser vinculado ao Zabbix server e ao Zabbix proxy.

Tags

As imagens oficiais dos componentes Zabbix podem conter as seguintes tags:

Tag Descrição Exemplo
latest A versão estável mais recente de um componente Zabbix baseada na imagem Alpine Linux. zabbix-agent:latest
<OS>-trunk A versão de desenvolvimento mais recente (nightly build) da versão Zabbix que está sendo desenvolvida atualmente em um sistema operacional específico.

<OS> - o sistema operacional base. Valores suportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (apenas agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (apenas agent);
ubuntu - Ubuntu
zabbix-agent:ubuntu-trunk
<OS>-latest A versão estável mais recente de um componente Zabbix em um sistema operacional específico.

<OS> - o sistema operacional base. Valores suportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (apenas agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (apenas agent);
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest A versão minor mais recente de um componente Zabbix de uma versão major específica e sistema operacional.

<OS> - o sistema operacional base. Valores suportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (apenas agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (apenas agent);
ubuntu - Ubuntu

X.X - a versão major do Zabbix (ex.: 6.0, 7.4, 8.0).
zabbix-agent:alpine-8.0-latest
<OS>-X.X.* A versão minor mais recente de um componente Zabbix de uma versão major específica e sistema operacional.

<OS> - o sistema operacional base. Valores suportados:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (apenas agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (apenas agent);
ubuntu - Ubuntu

X.X - a versão major do Zabbix (ex.: 6.0, 7.4, 8.0).

* - a versão minor do Zabbix
zabbix-agent:alpine-8.0.1

Configuração inicial

Após baixar as imagens, inicie os containers executando o comando docker run seguido de argumentos adicionais para especificar as variáveis de ambiente e/ou pontos de montagem necessários. Alguns exemplos de configuração são fornecidos abaixo.

Para habilitar a comunicação entre os componentes do Zabbix, algumas portas, como 10051/TCP para o Zabbix server (trapper), 10050/TCP para o Zabbix agent, 162/UDP para traps SNMP e 80/TCP para a interface web do Zabbix, serão expostas para a máquina host. A lista completa das portas padrão usadas pelos componentes do Zabbix está disponível na página de Requisitos. Para o Zabbix server e agent, a porta padrão pode ser alterada definindo a variável de ambiente ZBX_LISTENPORT.

Variáveis de ambiente

Todas as imagens dos componentes do Zabbix fornecem variáveis de ambiente para controlar a configuração. As variáveis de ambiente suportadas estão listadas no repositório do componente.

Essas variáveis de ambiente são opções dos arquivos de configuração do Zabbix, mas com um método de nomenclatura diferente. Por exemplo, ZBX_LOGSLOWQUERIES é igual a LogSlowQueries dos arquivos de configuração do Zabbix server ou do Zabbix proxy.

Algumas opções de configuração (por exemplo, PIDFile e LogType) não podem ser alteradas.

As seguintes variáveis de ambiente são específicas para componentes Docker e não existem nos arquivos de configuração do Zabbix:

Variável Componentes Valor padrão Descrição
DB_SERVER_HOST Server
Proxy
Web interface
mysql-server para MYSQL
postgres-server para PostgreSQL
IP ou nome DNS do servidor MySQL ou PostgreSQL.
DB_SERVER_PORT Server
Proxy
Web interface
3306 para MYSQL
5432 para PostgreSQL
Porta do servidor MySQL ou PostgreSQL.
MYSQL_USER Server
Proxy
Web-interface
zabbix Usuário do banco de dados MySQL.
MYSQL_PASSWORD Server
Proxy
Web interface
zabbix Senha do banco de dados MySQL.
MYSQL_DATABASE Server
Proxy
Web interface
zabbix para Zabbix server
zabbix_proxy para Zabbix proxy
Nome do banco de dados Zabbix.
POSTGRES_USER Server
Web interface
zabbix Usuário do banco de dados PostgreSQL.
POSTGRES_PASSWORD Server
Web interface
zabbix Senha do banco de dados PostgreSQL.
POSTGRES_DB Server
Web interface
zabbix para Zabbix server
zabbix_proxy para Zabbix proxy
Nome do banco de dados Zabbix.
PHP_TZ Web-interface Europe/Riga Fuso horário no formato PHP. A lista completa de fusos horários suportados está disponível em php.net.
ZBX_SERVER_NAME Web interface Zabbix Docker Nome visível da instalação do Zabbix no canto superior direito da interface web.
ZBX_JAVAGATEWAY_ENABLE Server
Proxy
false Habilita a comunicação com o Zabbix Java gateway para coletar verificações relacionadas ao Java.
ZBX_ENABLE_SNMP_TRAPS Server
Proxy
false Habilita o recurso de SNMP trap. Requer a instância zabbix-snmptraps e o volume compartilhado /var/lib/zabbix/snmptraps para o Zabbix server ou Zabbix proxy.
Volumes

As imagens permitem montar volumes usando os seguintes pontos de montagem:

Volume Descrição
Zabbix agent
/etc/zabbix/zabbix_agentd.d O volume permite incluir arquivos *.conf e estender o Zabbix agent usando o recurso UserParameter
/var/lib/zabbix/modules O volume permite carregar módulos adicionais e estender o Zabbix agent usando o recurso LoadModule
/var/lib/zabbix/enc O volume é usado para armazenar arquivos relacionados a TLS. Os nomes desses arquivos são especificados usando as variáveis de ambiente ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE e ZBX_TLSPSKFILE
Zabbix server
/usr/lib/zabbix/alertscripts O volume é usado para scripts de alerta personalizados. É o parâmetro AlertScriptsPath em zabbix_server.conf
/usr/lib/zabbix/externalscripts O volume é usado por verificações externas. É o parâmetro ExternalScripts em zabbix_server.conf
/var/lib/zabbix/modules O volume permite carregar módulos adicionais e estender o Zabbix server usando o recurso LoadModule
/var/lib/zabbix/enc O volume é usado para armazenar arquivos relacionados a TLS. Os nomes desses arquivos são especificados usando as variáveis de ambiente ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE e ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs O volume é usado como local dos arquivos de certificado de cliente SSL para autenticação de cliente. É o parâmetro SSLCertLocation em zabbix_server.conf
/var/lib/zabbix/ssl/keys O volume é usado como local dos arquivos de chave privada SSL para autenticação de cliente. É o parâmetro SSLKeyLocation em zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca O volume é usado como local dos arquivos da autoridade certificadora (CA) para verificação do certificado SSL do servidor. É o parâmetro SSLCALocation em zabbix_server.conf
/var/lib/zabbix/snmptraps O volume é usado como local do arquivo snmptraps.log. Ele pode ser compartilhado pelo container zabbix-snmptraps e herdado usando a opção volumes_from do Docker ao criar uma nova instância do Zabbix server. O recurso de processamento de traps SNMP pode ser habilitado usando o volume compartilhado e alterando a variável de ambiente ZBX_ENABLE_SNMP_TRAPS para 'true'
/var/lib/zabbix/mibs O volume permite adicionar novos arquivos MIB. Não suporta subdiretórios, todas as MIBs devem ser colocadas em /var/lib/zabbix/mibs
Zabbix proxy
/usr/lib/zabbix/externalscripts O volume é usado por verificações externas. É o parâmetro ExternalScripts em zabbix_proxy.conf
/var/lib/zabbix/db_data/ O volume permite armazenar arquivos de banco de dados em dispositivos externos. Suportado apenas para Zabbix proxy com SQLite3
/var/lib/zabbix/modules O volume permite carregar módulos adicionais e estender o Zabbix server usando o recurso LoadModule
/var/lib/zabbix/enc O volume é usado para armazenar arquivos relacionados a TLS. Os nomes desses arquivos são especificados usando as variáveis de ambiente ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE e ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs O volume é usado como local dos arquivos de certificado de cliente SSL para autenticação de cliente. É o parâmetro SSLCertLocation em zabbix_proxy.conf
/var/lib/zabbix/ssl/keys O volume é usado como local dos arquivos de chave privada SSL para autenticação de cliente. É o parâmetro SSLKeyLocation em zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca O volume é usado como local dos arquivos da autoridade certificadora (CA) para verificação do certificado SSL do servidor. É o parâmetro SSLCALocation em zabbix_proxy.conf
/var/lib/zabbix/snmptraps O volume é usado como local do arquivo snmptraps.log. Ele pode ser compartilhado pelo container zabbix-snmptraps e herdado usando a opção volumes_from do Docker ao criar uma nova instância do Zabbix server. O recurso de processamento de traps SNMP pode ser habilitado usando o volume compartilhado e alterando a variável de ambiente ZBX_ENABLE_SNMP_TRAPS para 'true'
/var/lib/zabbix/mibs O volume permite adicionar novos arquivos MIB. Não suporta subdiretórios, todas as MIBs devem ser colocadas em /var/lib/zabbix/mibs
Interface web do Zabbix baseada no servidor web Apache2
/etc/ssl/apache2 O volume permite habilitar HTTPS para a interface web do Zabbix. O volume deve conter os dois arquivos ssl.crt e ssl.key preparados para conexões SSL do Apache2
Interface web do Zabbix baseada no servidor web Nginx
/etc/ssl/nginx O volume permite habilitar HTTPS para a interface web do Zabbix. O volume deve conter os dois arquivos ssl.crt, ssl.key e dhparam.pem preparados para conexões SSL do Nginx
Zabbix snmptraps
/var/lib/zabbix/snmptraps O volume contém o arquivo de log snmptraps.log nomeado com os traps SNMP recebidos
/var/lib/zabbix/mibs O volume permite adicionar novos arquivos MIB. Não suporta subdiretórios, todas as MIBs devem ser colocadas em /var/lib/zabbix/mibs

Para informações adicionais, consulte os repositórios oficiais do Zabbix no Docker Hub.

Exemplos

Exemplo 1

O exemplo demonstra como executar o Zabbix server com suporte ao banco de dados MySQL, interface web do Zabbix baseada no servidor web Nginx e Zabbix Java gateway.

1. Crie uma rede dedicada para os containers dos componentes do Zabbix:

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

2. Inicie uma instância vazia do 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.4-oracle \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=caching_sha2_password

3. Inicie a instância do Zabbix Java gateway:

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

4. Inicie a instância do Zabbix server e vincule a instância ao servidor MySQL criado:

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

5. Inicie a interface web do Zabbix e vincule a instância ao servidor MySQL e ao Zabbix server criados:

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

Exemplo 2

O exemplo demonstra como executar o Zabbix server com suporte ao banco de dados PostgreSQL, interface web do Zabbix baseada no servidor web Nginx e recurso de SNMP trap.

1. Crie uma rede dedicada para os containers dos componentes do Zabbix:

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

2. Inicie uma instância vazia do 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. Inicie a instância do 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-8.0-latest

4. Inicie a instância do Zabbix server e vincule a instância ao servidor PostgreSQL criado:

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

5. Inicie a interface web do Zabbix e vincule a instância ao servidor PostgreSQL e ao Zabbix server criados:

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

Exemplo 3

O exemplo demonstra como executar o Zabbix server com suporte ao banco de dados MySQL, interface web do Zabbix baseada no servidor web Nginx e Zabbix Java gateway usando podman no Red Hat 8.

1. Crie um novo pod com o nome zabbix e portas expostas (interface web, Zabbix server trapper):

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

2. (opcional) Inicie o container do Zabbix agent na localização do 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. Crie o diretório ./mysql/ no host e inicie o Oracle MySQL server 8.4:

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.4 \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=caching_sha2_password

4. Inicie o container do 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-70

5. Inicie o container do Zabbix Java Gateway:

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

6. Inicie o container da interface web do 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-70

O pod zabbix expõe a porta 80/TCP (HTTP) para a máquina host a partir da porta 8080/TCP do container zabbix-web-mysql.

Docker Compose

Alternativamente, o Zabbix pode ser instalado usando o plugin Docker Compose. Os arquivos Compose para definir e executar componentes Zabbix multi-contêiner estão disponíveis no repositório oficial do Zabbix Docker no GitHub.

Os arquivos compose oficiais do Zabbix suportam a versão 3 do Docker Compose.

Esses arquivos compose são adicionados como exemplos; eles são sobrecarregados. Por exemplo, eles contêm proxies com suporte tanto para MySQL quanto para SQLite3.

Para obter os arquivos Docker compose fornecidos pelo Zabbix, clone o repositório:

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

Altere para a versão necessária:

git checkout 8.0

Configure os arquivos de configuração e crie e inicie os contêineres:

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

Substitua docker-compose_v3_alpine_mysql_latest.yaml no comando acima pelo arquivo de configuração necessário.

As seguintes opções estão disponíveis:

Nome do arquivo Descrição
docker-compose_v3_alpine_mysql_latest.yaml O arquivo compose executa a versão mais recente dos componentes do Zabbix 8.0 no Alpine Linux com suporte ao banco de dados MySQL.
docker-compose_v3_alpine_mysql_local.yaml O arquivo compose constrói localmente a versão mais recente do Zabbix 8.0 e executa os componentes do Zabbix no Alpine Linux com suporte ao banco de dados MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml O arquivo compose executa a versão mais recente dos componentes do Zabbix 8.0 no Alpine Linux com suporte ao banco de dados PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml O arquivo compose constrói localmente a versão mais recente do Zabbix 8.0 e executa os componentes do Zabbix no Alpine Linux com suporte ao banco de dados PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml O arquivo compose executa a versão mais recente dos componentes do Zabbix 8.0 no Oracle Linux com suporte ao banco de dados MySQL.
docker-compose_v3_ol_mysql_local.yaml O arquivo compose constrói localmente a versão mais recente do Zabbix 8.0 e executa os componentes do Zabbix no Oracle Linux com suporte ao banco de dados MySQL.
docker-compose_v3_ol_pgsql_latest.yaml O arquivo compose executa a versão mais recente dos componentes do Zabbix 8.0 no Oracle Linux com suporte ao banco de dados PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml O arquivo compose constrói localmente a versão mais recente do Zabbix 8.0 e executa os componentes do Zabbix no Oracle Linux com suporte ao banco de dados PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml O arquivo compose executa a versão mais recente dos componentes do Zabbix 8.0 no Ubuntu 22.04 com suporte ao banco de dados MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml O arquivo compose constrói localmente a versão mais recente do Zabbix 8.0 e executa os componentes do Zabbix no Ubuntu 22.04 com suporte ao banco de dados MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml O arquivo compose executa a versão mais recente dos componentes do Zabbix 8.0 no Ubuntu 22.04 com suporte ao banco de dados PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml O arquivo compose constrói localmente a versão mais recente do Zabbix 8.0 e executa os componentes do Zabbix no Ubuntu 22.04 com suporte ao banco de dados PostgreSQL.

Armazenamento

Os arquivos Compose são configurados para suportar armazenamento local em uma máquina host. O Docker Compose criará um diretório zbx_env na pasta com o arquivo compose quando você executar os componentes do Zabbix usando o arquivo compose. O diretório conterá a mesma estrutura descrita na seção Volumes e o diretório para armazenamento do banco de dados.

Também existem volumes em modo somente leitura para os arquivos /etc/localtime e /etc/timezone.

Variáveis de ambiente

Os arquivos de variáveis têm a seguinte estrutura de nomenclatura: .env_<tipo de componente> e estão localizados no diretório env_vars diretório. Consulte variáveis de ambiente para obter detalhes sobre a nomenclatura das variáveis e a seleção disponível.

Exemplos

Exemplo 1

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

O comando fará o download das imagens mais recentes do Zabbix 8.0 para cada componente do Zabbix e as executará em modo detach.

Não se esqueça de baixar os arquivos .env_<tipo de componente> do repositório oficial do Zabbix no github.com com os arquivos compose.

Exemplo 2

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

O comando fará o download da imagem base Ubuntu 24.04 (noble), depois irá construir localmente os componentes do Zabbix 8.0 e executá-los em modo detach.