5. Установка из контейнеров

Обзор

В этом разделе описывается, как развернуть Zabbix с помощью Docker или Docker Compose.

Zabbix официально предоставляет:

  • Отдельные образы Docker для каждого компонента Zabbix для запуска в качестве переносимых и самодостаточных контейнеров.
  • Файлы Compose для определения и запуска многоконтейнерных компонентов Zabbix в Docker.

Начиная с версии Zabbix 6.0, во время установки необходимо создавать детерминированные триггеры.

Если для MySQL/MariaDB включено ведение бинарного журнала, для этого требуются права суперпользователя или настройка переменной/параметра конфигурации log_bin_trust_function_creators = 1. Инструкции по установке переменной смотрите в Скриптах создания базы данных.
Обратите внимание, что при запуске из консоли переменная будет установлена только временно и будет удалена при перезапуске Docker. В этом случае оставьте службу SQL запущенной, остановите только службу zabbix-server, выполнив «docker compose down zabbix-server», а затем «docker compose up -d zabbix-server».
В качестве альтернативы вы можете установить эту переменную в файле конфигурации.

Docker

Zabbix предоставляет образы на основе различных базовых образов ОС. Чтобы получить список поддерживаемых базовых образов ОС для конкретного компонента Zabbix, смотрите описание компонента в Docker Hub. Все образы Zabbix настроены на пересборку последних образов при обновлении базовых образов.

Установка

Чтобы получить образ компонента Zabbix, выполните:

docker pull zabbix/zabbix-server-mysql

Замените zabbix/zabbix-server-mysql на имя требуемого репозитория docker.

Эта команда извлечёт последнюю стабильную версию компонента Zabbix на основе ОС Alpine Linux. Вы можете добавить теги к имени репозитория, чтобы получить образ на основе другой операционной системы или определённую мажорную или минорную версию Zabbix.

В Docker Hub доступны следующие репозитории:

Компонент Репозиторий Docker
Zabbix агент zabbix/zabbix-agent
Zabbix сервер
с поддержкой MySQL zabbix/zabbix-server-mysql
с поддержкой PostgreSQL zabbix/zabbix-server-pgsql
Веб-интерфейс Zabbix
на основе веб-сервера Apache2 с поддержкой MySQL zabbix/zabbix-web-apache-mysql
на основе веб-сервера Apache2 с поддержкой PostgreSQL zabbix/zabbix-web-apache-pgsql
на основе веб-сервера Nginx с поддержкой MySQL zabbix/zabbix-web-nginx-mysql
на основе веб-сервера Nginx с поддержкой PostgreSQL zabbix/zabbix-web-nginx-pgsql
Zabbix прокси
с поддержкой SQLite3 zabbix/zabbix-proxy-sqlite3
с поддержкой MySQL zabbix/zabbix-proxy-mysql
Zabbix Java gateway zabbix/zabbix-java-gateway

Поддержка SNMP трапов предоставляется в отдельном репозитории zabbix/zabbix-snmptraps. Его можно связать с Zabbix-сервером и Zabbix-прокси.

Теги

Официальные образы компонентов Zabbix могут содержать следующие теги:

Тег Описание Пример
latest Последняя стабильная версия компонента Zabbix на основе образа Alpine Linux. zabbix-agent:latest
<ОС>-trunk Последняя ночная сборка версии Zabbix, которая в настоящее время разрабатывается для конкретной операционной системы.

<ОС> — базовая операционная система. Поддерживаемые значения:
alpine — Alpine Linux;
ltsc2019 — Windows 10 LTSC 2019 (только агент);
ol — Oracle Linux;
ltsc2022 — Windows 11 LTSC 2022 (только агент);
ubuntu — Ubuntu
zabbix agent:ubuntu-trunk
<ОС>-latest Последняя стабильная версия компонента Zabbix для конкретной операционной системы.

<ОС> — базовая операционная система. Поддерживаемые значения:
alpine — Alpine Linux;
ltsc2019 — Windows 10 LTSC 2019 (только агент);
ol — Oracle Linux;
ltsc2022 — Windows 11 LTSC 2022 (только агент);
ubuntu — Ubuntu
zabbix-agent:ol-latest
<ОС>-X.X-latest Последняя минорная версия компонента Zabbix для конкретной мажорной версии и операционной системы.

<ОС> — базовая операционная система. Поддерживаемые значения:
alpine — Alpine Linux;
ltsc2019 — Windows 10 LTSC 2019 (только агент);
ol — Oracle Linux;
ltsc2022 — Windows 11 LTSC 2022 (только агент);
ubuntu — Ubuntu

X.X — мажорная версия Zabbix (т.е. 6.0, 7.0, 7.2).
zabbix-agent:alpine-7.0-latest
<ОС>-X.X.* Последняя минорная версия компонента Zabbix для конкретной мажорной версии и операционной системы.

<ОС> — базовая операционная система. Поддерживаемые значения:
alpine — Alpine Linux;
ltsc2019 — Windows 10 LTSC 2019 (только агент);
ol — Oracle Linux;
ltsc2022 — Windows 11 LTSC 2022 (только агент);
ubuntu — Ubuntu

X.X — мажорная версия Zabbix (т.е. 6.0, 7.0, 7.2).

* —минорная версия Zabbix.
zabbix-agent:alpine-7.0.1

Исходные файлы

Исходные файлы Docker хранятся в официальном репозитории Zabbix на GitHub, где вы можете следить за последними изменениями файлов или создать ответвление проекта для создания собственных образов.

Начальная настройка

После загрузки образов запустите контейнеры, выполнив команду docker run, после которой идут дополнительные аргументы для указания требуемых переменных окружения и/или точек монтирования. Ниже приведены некоторые примеры конфигурации.

Zabbix не должен запускаться в контейнерах как PID1 (процесс init) в версиях Zabbix 7.0.0-7.0.2.

Чтобы включить коммуникации между компонентами Zabbix, некоторые порты, такие как 10051/TCP для сервера Zabbix (траппер), 10050/TCP для агента Zabbix, 162/UDP для трапов SNMP и 80/TCP для веб-интерфейса Zabbix, будут открыты для хост-машины. Полный список портов по умолчанию, используемых компонентами Zabbix, доступен на странице Требования. Для сервера и агента Zabbix порт по умолчанию можно изменить, установив переменную окружения ZBX_LISTENPORT.

Переменные окружения

Все компоненты Zabbix предусматривают наличие переменных окружения для управления конфигурацией. Поддерживаемые переменные окружения перечислены в репозиториях каждого из компонентов.

Эти переменные окружения являются параметрами из файлов конфигурации Zabbix, но с другим методом именования. Например, ZBX_LOGSLOWQUERIES идентичен LogSlowQueries из файлов конфигурации Zabbix сервера или Zabbix прокси.

Некоторые параметры конфигурации (например, PIDFile и LogType) недоступны для изменения.

Следующие переменные окружения являются специфичными для компонентов Docker и отсутствуют в файлах конфигурации Zabbix:

Переменная Компоненты Значение по умолчанию Описание
DB_SERVER_HOST Сервер
Прокси
Веб-интерфейс
mysql-server для MySQL
postgres-server для PostgreSQL
IP адрес или DNS имя сервера MySQL или PostgreSQL.
DB_SERVER_PORT Сервер
Прокси
Веб-интерфейс
3306 для MySQL
5432 для PostgreSQL
Порт сервера MySQL или PostgreSQL.
MYSQL_USER Сервер
Прокси
Веб-интерфейс
zabbix Имя пользователя базы данных MySQL.
MYSQL_PASSWORD Сервер
Прокси
Веб-интерфейс
zabbix Пароль пользователя базы данных MySQL.
MYSQL_DATABASE Сервер
Прокси
Веб-интерфейс
zabbix для Zabbix сервера
zabbix_proxy для Zabbix прокси
Имя базы данных Zabbix.
POSTGRES_USER Сервер
Веб-интерфейс
zabbix Имя пользователя базы данных PostgreSQL.
POSTGRES_PASSWORD Сервер
Веб-интерфейс
zabbix Пароль пользователя базы данных PostgreSQL.
POSTGRES_DB Сервер
Веб-интерфейс
zabbix для Zabbix сервера
zabbix_proxy для Zabbix прокси
Имя базы данных Zabbix.
PHP_TZ Веб-интерфейс Europe/Riga Часовой пояс в формате PHP. Полный список поддерживаемых часовых поясов доступен на php.net.
ZBX_SERVER_NAME Веб-интерфейс Zabbix Docker Видимое имя инсталляции Zabbix в правом верхнем углу веб-интерфейса.
ZBX_JAVAGATEWAY_ENABLE Сервер
Прокси
false Включает обмен данными с Zabbix Java gateway для сбора проверок, относящихся к Java.
ZBX_ENABLE_SNMP_TRAPS Сервер
Прокси
false Включение функции SNMP трапов. Для этого требуется экземпляр zabbix-snmptraps и разделяемый с Zabbix сервером или Zabbix прокси том /var/lib/zabbix/snmptraps.
Тома

Образы позволяют монтировать тома, используя следующие точки монтирования:

Том Описание
Zabbix агент
/etc/zabbix/zabbix_agentd.d Том позволяет включать *.conf файлы и расширять Zabbix агент, используя функционал UserParameter
/var/lib/zabbix/modules Том позволяет подгружать дополнительные модули и расширять Zabbix агент, используя функционал подгружаемых модулей
/var/lib/zabbix/enc Том используется для хранения файлов, связанных с TLS. Имена данных файлов указываются при помощи переменных окружения ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE и ZBX_TLSPSKFILE
Zabbix сервер
/usr/lib/zabbix/alertscripts Том используется для пользовательских скриптов оповещения. Является параметром AlertScriptsPath в zabbix_server.conf
/usr/lib/zabbix/externalscripts Том используется для внешних проверок. Является параметром ExternalScripts в zabbix_server.conf
/var/lib/zabbix/modules Том позволяет подгружать дополнительные модули и расширять Zabbix сервер используя функционал подгружаемых модулей
/var/lib/zabbix/enc Том используется для хранения файлов, связанных с TLS. Имена данных файлов указываются при помощи переменных окружения ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE и ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs Том используется для размещения файлов клиентских SSL сертификатов для аутентификации клиентов. Является параметром SSLCertLocation в zabbix_server.conf
/var/lib/zabbix/ssl/keys Том используется для размещения файлов закрытых SSL ключей (private keys) для аутентификации клиентов. Является параметром SSLKeyLocation в zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca Том используется для размещения файлов центра сертификации (CA) для верификации SSL сертификатов сервера. Является параметром SSLCALocation в zabbix_server.conf
/var/lib/zabbix/snmptraps Том используется для размещения файла snmptraps.log. Этот том может быть использован совместно с контейнером zabbix-snmptraps и унаследован, используя опцию Docker volumes_from при создании нового экземпляра Zabbix сервера. Функцию обработки SNMP трапов можно включить, используя совместный том и переключив переменную окружения ZBX_ENABLE_SNMP_TRAPS в «true»
/var/lib/zabbix/mibs Том позволяет добавлять новые MIB файлы. Не поддерживает подпапки, все MIB файлы должны быть помещены в /var/lib/zabbix/mibs
Zabbix прокси
/usr/lib/zabbix/externalscripts Том используется для внешних проверок. Является параметром ExternalScripts в zabbix_proxy.conf
/var/lib/zabbix/db_data/ Том позволяет хранить файлы базы данных на внешних устройствах. Поддерживается только для Zabbix proxy с базой SQLite3
/var/lib/zabbix/modules Том позволяет подгружать дополнительные модули и расширять Zabbix прокси, используя функционал подгружаемых модулей
/var/lib/zabbix/enc Том используется для хранения файлов, связанных с TLS. Имена данных файлов указываются при помощи переменных окружения ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE и ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs Том используется для размещения файлов клиентских SSL сертификатов для аутентификации клиентов. Является параметром SSLCertLocation в zabbix_proxy.conf
/var/lib/zabbix/ssl/keys Том используется для размещения файлов закрытых SSL ключей (private keys) для аутентификации клиентов. Является параметром SSLKeyLocation в zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca Том используется для размещения файлов центра сертификации (CA) для верификации SSL сертификатов сервера. Является параметром SSLCALocation в zabbix_proxy.conf
/var/lib/zabbix/snmptraps Том используется для размещения файла snmptraps.log. Этот том может быть использован совместно с контейнером zabbix-snmptraps и унаследован, используя опцию Docker volumes_from при создании нового экземпляра Zabbix прокси. Функцию обработки SNMP трапов можно включить, используя совместный том и переключив переменную окружения ZBX_ENABLE_SNMP_TRAPS в «true»
/var/lib/zabbix/mibs Том позволяет добавлять новые MIB файлы. Не поддерживает подпапки, все MIB файлы должны быть помещены в /var/lib/zabbix/mibs
веб-интерфейс Zabbix на основе веб-сервера Apache2
/etc/ssl/apache2 Том позволяет активировать HTTPS для веб-интерфейса Zabbix. Том должен содержать два файла ssl.crt и ssl.key, подготовленные для SSL соединений Apache2
веб-интерфейс Zabbix на основе веб-сервера Nginx
/etc/ssl/nginx Том позволяет активировать HTTPS для веб-интерфейса Zabbix. Том должен содержать три файла ssl.crt, ssl.key и dhparam.pem, подготовленные для SSL соединений Nginx
Zabbix snmptraps
/var/lib/zabbix/snmptraps Том содержит файл журнала по имени snmptraps.log с полученными SNMP трапами
/var/lib/zabbix/mibs Том позволяет добавлять новые MIB файлы. Не поддерживает подпапки, все MIB файлы должны быть помещены в /var/lib/zabbix/mibs

Для получения дополнительной информации обратитесь к официальным репозиториям Zabbix в Docker Hub.

Примеры

Пример 1

В этом примере продемонстрировано, как запустить Zabbix сервер с поддержкой базы данных MySQL, веб-интерфейсом Zabbix на основе веб-сервера Nginx и Zabbix Java gateway.

1. Создайте сеть, выделенную для контейнеров с компонентами Zabbix:

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

2. Запустите пустой экземпляр сервера 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 \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

3. Запустите экземпляр 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. Запустите экземпляр Zabbix сервера и слинкуйте этот экземпляр с уже созданным экземпляром 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. Запустите экземпляр веб-интерфейса Zabbix и слинкуйте этот экземпляр с уже созданными экземплярами MySQL сервера и 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-7.0-latest

Пример 2

В этом примере продемонстрировано, как запустить Zabbix сервер с поддержкой базы данных PostgreSQL, веб-интерфейсом Zabbix на основе веб-сервера Nginx и с функцией приёма SNMP трапов.

1. Создайте сеть, выделенную для контейнеров с компонентами Zabbix:

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

2. Запустите пустой экземпляр сервера 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. Запустите экземпляр 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. Запустите экземпляр Zabbix сервера и слинкуйте этот экземпляр с уже созданным экземпляром сервера 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. Запустите экземпляр веб-интерфейса Zabbix и слинкуйте этот экземпляр с уже созданными экземплярами PostgreSQL сервера и 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-7.0-latest

Пример 3

В этом примере продемонстрировано, как запустить Zabbix сервер с поддержкой базы данных MySQL, веб-интерфейсом Zabbix на основе веб-сервера Nginx и Zabbix Java gateway, используя podman на Red Hat 8.

1. Создайте новую капсулу (pod) с именем zabbix и откройте порты (веб-интерфейс, траппер Zabbix сервера):

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

2. (опционально) Запустите контейнер Zabbix агента в капсуле (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. Создайте директорию ./mysql/ на узле и запустите сервер 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. Запустите контейнер 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-70

4. Запустите контейнер Zabbix Java Gateway:

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

5. Запустите контейнер веб-интерфейса 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

Капсула (pod) zabbix пробрасывает порт 80/TCP (HTTP) на хост-машине на порт 8080/TCP контейнера zabbix-web-mysql.

Docker Compose

Кроме того, Zabbix можно установить с помощью плагина Docker Compose. Файлы Compose для определения и запуска многоконтейнерных компонентов Zabbix доступны в официальном репозитории Zabbix Docker на GitHub.

Официальные файлы Compose Zabbix поддерживают версию 3 Docker Compose.

Эти файлы Compose добавлены в качестве примеров; они перегружены. Например, они содержат прокси с поддержкой как MySQL, так и SQLite3.

Чтобы получить файлы Docker Compose, предоставляемые Zabbix, склонируйте репозиторий:

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

Переключитесь на нужную версию:

git checkout 7.0

Скомпонуйте файлы конфигурации, а также создайте и запустите контейнеры:

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

Замените docker-compose_v3_alpine_mysql_latest.yaml в команде выше на требуемый файл конфигурации.

Доступны следующие варианты:

Имя файла Описание
docker-compose_v3_alpine_mysql_latest.yaml Файл конфигурации запускает последнюю версию компонентов Zabbix 7.0 на Alpine Linux с поддержкой базы данных MySQL.
docker-compose_v3_alpine_mysql_local.yaml Файл конфигурации собирает локально последнюю версию компонентов Zabbix 7.0 и запускает компоненты Zabbix на Alpine Linux с поддержкой базы данных MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml Файл конфигурации запускает последнюю версию компонентов Zabbix 7.0 на Alpine Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml Файл конфигурации собирает локально последнюю версию компонентов Zabbix 7.0 и запускает компоненты Zabbix на Alpine Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml Файл конфигурации запускает последнюю версию компонентов Zabbix 7.0 на Oracle Linux с поддержкой базы данных MySQL.
docker-compose_v3_ol_mysql_local.yaml Файл конфигурации собирает локально последнюю версию компонентов Zabbix 7.0 и запускает компоненты Zabbix на Oracle Linux с поддержкой базы данных MySQL.
docker-compose_v3_ol_pgsql_latest.yaml Файл конфигурации запускает последнюю версию компонентов Zabbix 7.0 на Oracle Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml Файл конфигурации собирает локально последнюю версию компонентов Zabbix 7.0 и запускает компоненты Zabbix на Oracle Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml Файл конфигурации запускает последнюю версию компонентов Zabbix 7.0 на Ubuntu 20.04 с поддержкой базы данных MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml Файл конфигурации собирает локально последнюю версию компонентов Zabbix 7.0 и запускает компоненты Zabbix на Ubuntu 20.04 с поддержкой базы данных MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml Файл конфигурации запускает последнюю версию компонентов Zabbix 7.0 на Ubuntu 20.04 с поддержкой базы данных PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml Файл конфигурации собирает локально последнюю версию компонентов Zabbix 7.0 и запускает компоненты Zabbix на Ubuntu 20.04 с поддержкой базы данных PostgreSQL.

Хранилище

Файлы конфигурации Compose сконфигурированы для поддержки локального хранилища на хост-машине. Docker Compose создаст директорию zbx_env в директории с файлом конфигурации compose, когда вы запустите компоненты Zabbix с его помощью. Директория будет содержать такую же структуру, как описано в разделе Тома, и директорию для хранения базы данных.

Также имеются тома с доступом только на чтение для файлов /etc/localtime и /etc/timezone.

Переменные окружения

Файлы переменных имеют следующую структуру именования: .env_<тип компонента> и расположены в директории env_vars. Подробности об именовании переменных и доступном выборе смотрите в переменных окружения.

Примеры

Пример 1

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

Эта команда загрузит последние образы Zabbix 7.0 для каждого из компонентов Zabbix и запустит их в detach режиме.

Не забудьте загрузить файлы .env_<тип компонента> из официального репозитория Zabbix на github.com с файлами конфигурации.

Пример 2

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

Эта команда загрузит образ на основе Ubuntu 22.04 (jammy), затем локально соберёт компоненты Zabbix 7.0 и запустит их в detach режиме.