Установка из контейнеров
Обзор
В этом разделе описывается, как развернуть 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 и запустит их в фоновом режиме.