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-contêiner no Docker.

Desde o Zabbix 6.0, triggers determinísticos precisam ser criados durante a instalação. Se o log binário estiver ativado para MySQL/MariaDB, isso requer privilégios de superusuário ou a definiçã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 um 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 sistemas operacionais base suportados 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 caso as imagens base sejam atualizadas.

Instalação

Para obter a imagem de um componente do Zabbix, execute:

docker pull zabbix/zabbix-server-mysql

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

Este comando irá baixar a versão estável mais recente 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
Zabbix web interface
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 mais recente (nightly build) do Zabbix que está atualmente em desenvolvimento 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 e sistema operacional específicos.

<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.0, 7.2).
zabbix-agent:alpine-7.0-latest
<OS>-X.X.* A versão minor mais recente de um componente Zabbix de uma versão major e sistema operacional específicos.

<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.0, 7.2).

* - a versão minor do Zabbix
zabbix-agent:alpine-7.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.

O Zabbix não deve ser executado como PID1/como um processo init em containers nas versões 7.0.0-7.0.2 do Zabbix.

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 Requisitos. Para o Zabbix server e agent, a porta padrão pode ser alterada definindo a variável de ambiente ZBX_LISTENPORT environment variable.

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 do 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 do 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 trap SNMP. 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 no zabbix_server.conf
/usr/lib/zabbix/externalscripts O volume é usado por external checks. É o parâmetro ExternalScripts no 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 no 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 no zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca O volume é usado como local dos arquivos de autoridade certificadora (CA) para verificação de certificado de servidor SSL. É o parâmetro SSLCALocation no 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 SNMP trap 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 external checks. É o parâmetro ExternalScripts no 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 no 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 no zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca O volume é usado como local dos arquivos de autoridade certificadora (CA) para verificação de certificado de servidor SSL. É o parâmetro SSLCALocation no 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 SNMP trap 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 web interface based on Apache2 web server
/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
Zabbix web interface based on Nginx web server
/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 SNMP traps 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, frontend do Zabbix baseado 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 MySQL server:

Para versões do MySQL 8.4+, caching_sha2_password deve ser usado em vez 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 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-7.0-latest

4. Inicie a instância do Zabbix server e vincule a instância ao MySQL server 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-7.0-latest

5. Inicie o frontend do Zabbix e vincule a instância ao MySQL server e 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-7.0-latest

Exemplo 2

O exemplo demonstra como executar o Zabbix server com suporte ao banco de dados PostgreSQL, frontend do Zabbix baseado 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 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 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-7.0-latest

4. Inicie a instância do Zabbix server e vincule a instância ao PostgreSQL server 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-7.0-latest

5. Inicie o frontend do Zabbix e vincule a instância ao PostgreSQL server e 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-7.0-latest

Exemplo 3

O exemplo demonstra como executar o Zabbix server com suporte ao banco de dados MySQL, frontend do Zabbix baseado 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 (frontend, 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.0:

Para versões do MySQL 8.4+, caching_sha2_password deve ser usado em vez 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 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 do frontend 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

Como alternativa, 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 7.0

Arquivos de configuração do Compose 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 7.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 7.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 7.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 7.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 7.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 7.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 7.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 7.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 7.0 no Ubuntu 20.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 7.0 e executa os componentes do Zabbix no Ubuntu 20.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 7.0 no Ubuntu 20.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 7.0 e executa os componentes do Zabbix no Ubuntu 20.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 no 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. Veja variáveis de ambiente para detalhes sobre a nomenclatura das variáveis e seleção disponível.

Exemplos

Exemplo 1

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

O comando irá baixar as imagens mais recentes do Zabbix 7.0 para cada componente do Zabbix e executá-las 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 7.0
       docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d

O comando irá baixar a imagem base Ubuntu 24.04 (noble), então irá construir os componentes do Zabbix 7.0 localmente e executá-los em modo detach.