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

Обзор

В этом разделе описывается, как развернуть 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'.
В качестве альтернативы можно установить эту переменную в файле конфигурации.

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

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

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 trap предоставляется в отдельном репозитории zabbix/zabbix-snmptraps. Его можно связать с сервером Zabbix и прокси Zabbix.

Теги

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

Tag Description Example
latest Последняя стабильная версия компонента Zabbix на основе образа Alpine Linux. zabbix-agent:latest
<OS>-trunk Последняя nightly-сборка версии Zabbix, которая в настоящее время разрабатывается для конкретной операционной системы.

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

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

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

X.X — мажорная версия Zabbix (например, 6.0, 7.4, 8.0).
zabbix-agent:alpine-8.0-latest
<OS>-X.X.* Конкретная минорная версия компонента Zabbix для указанной мажорной версии и операционной системы.

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

X.X — мажорная версия Zabbix (например, 6.0, 7.4, 8.0).

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

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

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

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

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

Все образы компонентов 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 под логотипом Zabbix в вертикальном меню веб-интерфейса.
ZBX_JAVAGATEWAY_ENABLE Сервер
Прокси
false Включает взаимодействие с Zabbix Java gateway для сбора проверок, связанных с Java.
ZBX_ENABLE_SNMP_TRAPS Сервер
Прокси
false Включает функцию SNMP trap. Для этого требуется экземпляр zabbix-snmptraps и общий том /var/lib/zabbix/snmptraps для сервера Zabbix или прокси Zabbix.
Тома

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

Том Описание
Zabbix агент
/etc/zabbix/zabbix_agentd.d Том позволяет включать файлы *.conf и расширять Zabbix агент с помощью функции UserParameter
/var/lib/zabbix/modules Том позволяет загружать дополнительные модули и расширять Zabbix агент с помощью функции LoadModule
/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 сервер с помощью функции LoadModule
/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-ключей для аутентификации клиента. Это параметр 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 trap может быть включена с помощью общего тома и переключения переменной окружения 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 прокси с SQLite3
/var/lib/zabbix/modules Том позволяет загружать дополнительные модули и расширять Zabbix сервер с помощью функции LoadModule
/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-ключей для аутентификации клиента. Это параметр 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 trap может быть включена с помощью общего тома и переключения переменной окружения 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 trap
/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.4-oracle \
    --character-set-server=utf8 --collation-server=utf8_bin \
    --default-authentication-plugin=caching_sha2_password

3. Запустите экземпляр 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. Запустите экземпляр сервера 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-8.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-8.0-latest

Пример 2

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

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

Пример 3

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

1. Создайте новый pod с именем zabbix и открытыми портами (веб-интерфейс, trapper сервера 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-74:latest

3. Создайте каталог ./mysql/ на узле сети и запустите сервер Oracle MySQL 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. Запустите контейнер сервера 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-74

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

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

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

Pod zabbix предоставляет узлу сети порт 80/TCP (HTTP) из порта 8080/TCP контейнера zabbix-web-mysql.

Docker Compose

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

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

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

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

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

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

git checkout 8.0

Настройте compose-файлы и создайте и запустите контейнеры:

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 Compose-файл запускает последнюю версию компонентов Zabbix 8.0 на Alpine Linux с поддержкой базы данных MySQL.
docker-compose_v3_alpine_mysql_local.yaml Compose-файл локально собирает последнюю версию Zabbix 8.0 и запускает компоненты Zabbix на Alpine Linux с поддержкой базы данных MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml Compose-файл запускает последнюю версию компонентов Zabbix 8.0 на Alpine Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml Compose-файл локально собирает последнюю версию Zabbix 8.0 и запускает компоненты Zabbix на Alpine Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml Compose-файл запускает последнюю версию компонентов Zabbix 8.0 на Oracle Linux с поддержкой базы данных MySQL.
docker-compose_v3_ol_mysql_local.yaml Compose-файл локально собирает последнюю версию Zabbix 8.0 и запускает компоненты Zabbix на Oracle Linux с поддержкой базы данных MySQL.
docker-compose_v3_ol_pgsql_latest.yaml Compose-файл запускает последнюю версию компонентов Zabbix 8.0 на Oracle Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml Compose-файл локально собирает последнюю версию Zabbix 8.0 и запускает компоненты Zabbix на Oracle Linux с поддержкой базы данных PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml Compose-файл запускает последнюю версию компонентов Zabbix 8.0 на Ubuntu 24.04 (noble) с поддержкой базы данных MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml Compose-файл локально собирает последнюю версию Zabbix 8.0 и запускает компоненты Zabbix на Ubuntu 24.04 (noble) с поддержкой базы данных MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml Compose-файл запускает последнюю версию компонентов Zabbix 8.0 на Ubuntu 24.04 (noble) с поддержкой базы данных PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml Compose-файл локально собирает последнюю версию Zabbix 8.0 и запускает компоненты Zabbix на Ubuntu 24.04 (noble) с поддержкой базы данных PostgreSQL.

Хранилище

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

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

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

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

Примеры

Пример 1

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

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

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

Пример 2

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

Команда загрузит базовый образ Ubuntu 24.04 (noble), затем локально соберёт компоненты Zabbix 8.0 и запустит их в фоновом режиме.