Установка из контейнеров
Обзор
На этой странице описывается, как развернуть Zabbix с помощью Docker или Docker Compose.
Docker Compose — самый быстрый способ развернуть Zabbix. Он читает файл конфигурации и автоматически запускает все контейнеры, из которых состоит полная установка Zabbix, в правильном порядке.
Docker (ручное развертывание) позволяет добиться того же результата, развертывая каждый компонент шаг за шагом.
Предварительные требования
Перед началом убедитесь, что в вашей системе установлен Docker (1.12.0 или более поздней версии). Если это не так, следуйте руководству по установке Docker. Для развертывания с использованием Docker Compose также требуется Docker Compose (2.24.0 или более поздней версии).
Для работы некоторых компонентов Zabbix необходимо, чтобы на узле сети, где запущен Docker, были открыты определенные порты (например, 10051/TCP для сервера Zabbix, 162/UDP для SNMP traps).
Полный список портов, используемых компонентами Zabbix, см. в разделе Требования.
Для сервера Zabbix и агента порт по умолчанию можно изменить, задав переменную окружения ZBX_LISTENPORT для соответствующего контейнера.
Доступные Docker-образы
Zabbix предоставляет Docker-образ для каждого компонента Zabbix; все они опубликованы на Docker Hub. Каждый образ используется для создания контейнера, в котором работает соответствующий компонент.
| Компонент Zabbix | Docker-образ |
|---|---|
| Агент | zabbix/zabbix-agent |
| Агент 2 | zabbix/zabbix-agent2 |
| Сервер (MySQL) | zabbix/zabbix-server-mysql |
| Сервер (PostgreSQL) | zabbix/zabbix-server-pgsql |
| Веб-интерфейс (Apache + MySQL) | zabbix/zabbix-web-apache-mysql |
| Веб-интерфейс (Apache + PostgreSQL) | zabbix/zabbix-web-apache-pgsql |
| Веб-интерфейс (Nginx + MySQL) | zabbix/zabbix-web-nginx-mysql |
| Веб-интерфейс (Nginx + PostgreSQL) | zabbix/zabbix-web-nginx-pgsql |
| Прокси (SQLite3) | zabbix/zabbix-proxy-sqlite3 |
| Прокси (MySQL) | zabbix/zabbix-proxy-mysql |
| Java gateway | zabbix/zabbix-java-gateway |
| Веб-сервис | zabbix/zabbix-web-service |
| SNMP-ловушки | zabbix/zabbix-snmptraps |
Чтобы использовать SNMP-ловушки, контейнер SNMP-ловушек должен совместно использовать том с контейнером сервера Zabbix или прокси (см. как использовать этот образ на Docker Hub и пример ниже).
Все образы компонентов Zabbix на Docker Hub основаны на последних основных версиях поддерживаемых операционных систем. Эти образы автоматически пересобираются при обновлении базовых образов ОС.
Теги образов
Каждый образ поддерживает теги для выбора базовой операционной системы и версии Zabbix:
zabbix/<image>:<os>-<version>
Поддерживаемые значения <os>:
alpine- Alpine Linuxubuntu- Ubuntucentos- CentOS Streamol- Oracle Linuxltsc2022- Windows 11 LTSC 2022 (только Zabbix агент)
Поддерживаемые значения <version>:
latest- Последняя стабильная версия Zabbix на Alpine Linux<os>-latest- Последняя стабильная версия Zabbix на выбранной ОС<os>-trunk- Последняя разрабатываемая (nightly) сборка на выбранной ОС<os>-X.X-latest- Последний минорный релиз Zabbix для указанной мажорной версии Zabbix на выбранной ОС<os>-X.X.*- Конкретный минорный релиз Zabbix на выбранной ОС
Примеры:
# Последний стабильный Zabbix прокси (SQLite3) на Alpine Linux:
docker pull zabbix/zabbix-proxy-sqlite3:latest
# Последний стабильный Zabbix прокси (SQLite3) на Ubuntu:
docker pull zabbix/zabbix-proxy-sqlite3:ubuntu-latest
# Последняя разрабатываемая (nightly) сборка Zabbix сервер (MySQL) на Ubuntu:
docker pull zabbix/zabbix-server-mysql:ubuntu-trunk
# Последний минорный релиз 8.0 Zabbix сервер (MySQL) на Alpine Linux:
docker pull zabbix/zabbix-server-mysql:alpine-8.0-latest
# Версия 8.0.1 Zabbix сервер (MySQL) на Alpine Linux:
docker pull zabbix/zabbix-server-mysql:alpine-8.0.1
Docker Compose
Docker Compose — это самый быстрый способ развернуть Zabbix. Он читает файл конфигурации (Compose file) и выполняет всю настройку: загружает образы Docker, создает внутреннюю сеть между контейнерами, настраивает хранилище, инициализирует базу данных и запускает все в правильном порядке.
В репозитории официальных Dockerfiles Zabbix представлены готовые к использованию файлы Docker Compose и система конфигурации на основе .env, поддерживающая разные операционные системы, серверные части баз данных и конфигурацию компонентов Zabbix.
1. Клонируйте репозиторий, перейдите в него и переключитесь на версию 8.0:
git clone https://github.com/zabbix/zabbix-docker.git
cd zabbix-docker
git checkout 8.0
2. (Необязательно) Настройте развертывание с помощью переменных среды. Этот шаг можно пропустить для конфигурации по умолчанию.
3. Разверните конфигурацию по умолчанию — сервер Zabbix, веб-интерфейс (работающий на Nginx) и серверную часть базы данных (MySQL или PostgreSQL), каждый в своем контейнере на Alpine Linux.
# С MySQL в качестве базы данных:
docker compose -f ./compose.yaml up -d
# С PostgreSQL в качестве базы данных:
docker compose -f ./compose_pgsql.yaml up -d
После того как контейнеры будут запущены и начнут работать (обычно в течение 1–3 минут), сервер Zabbix будет запущен, а веб-интерфейс будет доступен по адресу http://localhost.
Используйте docker compose ps, чтобы проверить состояние контейнеров.
Все контейнеры (кроме контейнера zabbix-docker-server-db-init-1) должны иметь статус Up.
Если у какого-либо контейнера статус Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.
Переменные среды
Поведение Docker Compose и конфигурацию компонентов Zabbix можно настраивать с помощью переменных среды.
Переменные уровня Compose (определены в файле .env) управляют тем, какие образы Docker, порты и диапазоны IP-адресов сети используются.
Вы можете задавать эти переменные непосредственно перед командой docker compose или отредактировать файл .env.
Например, следующая команда разворачивает полную многоконтейнерную конфигурацию Zabbix с использованием образа на базе Ubuntu (вместо стандартного Alpine Linux) и публикацией веб-интерфейса через Nginx на пользовательских портах HTTP (8282) и HTTPS (8443):
OS=ubuntu \
ZABBIX_WEB_NGINX_HTTP_PORT=8282 \
ZABBIX_WEB_NGINX_HTTPS_PORT=8443 \
docker compose -f ./compose.yaml up -d
Переменные уровня компонентов (определены в файлах env_vars/.env_<component>) управляют конфигурацией компонентов Zabbix.
Отредактируйте соответствующий файл .env_<component> перед выполнением команды docker compose.
Например, вы можете изменить количество пассивных poller'ов сервера Zabbix и параметры кэша, а также настроить часовой пояс веб-интерфейса, отредактировав следующие переменные:
# env_vars/.env_srv
ZBX_STARTPOLLERS=20
ZBX_CACHESIZE=64M
ZBX_HISTORYCACHESIZE=32M
# env_vars/.env_web
PHP_TZ=Europe/Paris
Переменные среды уровня компонентов соответствуют параметрам конфигурации компонентов Zabbix, но используют другой стиль именования (например, ZBX_STARTPOLLERS соответствует StartPollers).
Некоторые переменные зависят от Docker, а некоторые параметры конфигурации изменить нельзя (например, PIDFile и LogType).
При использовании переменных среды см. раздел Environment variables в описании образа Docker каждого компонента на Docker Hub.
Тома
Docker Compose хранит постоянные данные в каталоге zbx_env/, создаваемом рядом с файлом Compose.
Этот каталог сохраняет данные компонентов при перезапуске и обновлении контейнеров.
Содержимое zbx_env/ заранее определено для образа каждого компонента. Например:
zbx_env/etc/— используется контейнером веб-интерфейса Zabbixzbx_env/usr/иzbx_env/var/— используются контейнером сервера Zabbix
Дополнительную информацию о каждом томе см. в разделе Allowed volumes в описании Docker image каждого компонента на Docker Hub.
Makefile
Репозиторий Dockerfiles Zabbix также предоставляет Makefile как удобный способ выполнения типовых задач Docker Compose.
Вместо использования полной команды docker compose можно применять более короткие команды make (выполните make help, чтобы увидеть доступные варианты):
# Развертывание по умолчанию (сервер Zabbix, веб-интерфейс, MySQL, всё на Alpine Linux)
make up
# Пользовательское развертывание (сервер Zabbix, веб-интерфейс с пользовательскими портами Nginx, PostgreSQL, всё на Ubuntu)
make up \
OS=ubuntu \
DB=pgsql \
ZABBIX_WEB_NGINX_HTTP_PORT=8282 \
ZABBIX_WEB_NGINX_HTTPS_PORT=8443
При остановке или удалении контейнеров всегда указывайте тот же тип базы данных, который использовался при развертывании (например, make down DB=pgsql).
По умолчанию make up запускает только минимальный набор сервисов (сервер Zabbix, веб-интерфейс и база данных).
Это позволяет сохранить конфигурацию легковесной и избежать запуска компонентов, которые могут не понадобиться.
Чтобы включить дополнительные компоненты, можно использовать следующие профили Compose:
# Развертывание по умолчанию + агент Zabbix, Java gateway, веб-сервис и SNMP traps:
make up COMPOSE_PROFILES=full
# COMPOSE_PROFILES=full + прокси Zabbix (MySQL и SQLite3):
make up COMPOSE_PROFILES=all
Docker (ручное развертывание)
Используйте ручное развертывание, если хотите развернуть Zabbix поэтапно, запускать отдельные компоненты, интегрировать их с существующей средой или использовать альтернативную среду выполнения контейнеров, например Podman.
Например, чтобы развернуть прокси Zabbix, выполните следующую команду:
docker run --name zabbix-proxy-sqlite3 \
-e ZBX_SERVER_HOST=192.0.2.1 \
-e ZBX_PROXYMODE=0 \
-e ZBX_HOSTNAME=zabbix-proxy-sqlite3 \
-v zabbix-proxy-data:/var/lib/zabbix/db_data \
--init \
-d \
zabbix/zabbix-proxy-sqlite3:alpine-8.0-latest
Эта команда:
-
Загружает Docker-образ
zabbix/zabbix-proxy-sqlite3:alpine-8.0-latestDocker image. -
Создает и запускает контейнер
zabbix-proxy-sqlite3на основе Docker-образа (с флагами--initи-d). -
Настраивает параметр Zabbix proxy
Serverчерез переменную средыZBX_SERVER_HOST. Этот параметр задает IP-адрес сервера Zabbix, с которого прокси будет получать данные конфигурации и которому будет отправлять собранные данные. Обратите внимание, что другие переменные, необходимые для работы активного прокси, используют значения по умолчанию и могут быть опущены.
Переменные среды соответствуют параметрам конфигурации компонентов Zabbix, но используют другой стиль именования (например, ZBX_SERVER_HOST соответствует Server).
Некоторые переменные зависят от Docker, а некоторые параметры конфигурации изменить нельзя (например, PIDFile и LogType).
При использовании переменных среды см. раздел Environment variables в описании Docker image каждого компонента на Docker Hub.
- Подключает управляемое Docker хранилище (например,
/var/lib/docker/volumes/zabbix-proxy-data/) к каталогу/var/lib/zabbixконтейнера, чтобы данные прокси Zabbix сохранялись постоянно, даже если контейнер будет удален.
Дополнительные сведения о каждом томе см. в разделе Allowed volumes в описании Docker image каждого компонента на Docker Hub.
После развертывания контейнера прокси Zabbix вы можете перейти к добавлению прокси в вашем веб-интерфейсе Zabbix и настройке узлов сети для мониторинга через этот прокси.
Приведенные ниже примеры охватывают еще три сценария развертывания:
- сервер Zabbix (MySQL) с Java gateway
- сервер Zabbix (PostgreSQL) с SNMP traps
- сервер Zabbix (MySQL) с Java gateway на RHEL 8–10
Дополнительные примеры см. в описании Docker image каждого компонента на Docker Hub.
Развертывание Zabbix server (MySQL) с Java gateway
В этом примере показано, как развернуть Zabbix server с бэкендом MySQL, Java gateway для мониторинга JMX и веб-интерфейсом на базе Nginx.
1. Создайте выделенную Docker-сеть, чтобы все контейнеры компонентов Zabbix могли обращаться друг к другу по имени контейнера:
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. Запустите пустой контейнер MySQL server (замените zabbix_pwd и root_pwd на надежные пароли и используйте эти значения в следующих шагах):
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=utf8mb4 --collation-server=utf8mb4_bin
3. Просмотрите журналы MySQL и дождитесь, пока MySQL будет готов к подключениям (нажмите Ctrl+C, чтобы выйти из просмотра журналов):
docker logs -f mysql-server
# ... [Server] /usr/sbin/mysqld: ready for connections. ...
4. Запустите контейнер 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
5. Включите log_bin_trust_function_creators в контейнере MySQL server.
Это временно ослабляет ограничения безопасности для хранимых функций; в последующих шагах этот параметр будет отключен.
Он позволяет пользователю базы данных Zabbix создавать хранимые функции без привилегии SUPER, которая требуется MySQL при включенном двоичном журналировании (по умолчанию с MySQL 8.0).
Выполните следующую команду:
docker exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 1;"
6. Запустите контейнер Zabbix server и подключите его к контейнерам Java Gateway и MySQL server:
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 ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
--restart unless-stopped \
--init \
-d zabbix/zabbix-server-mysql:alpine-8.0-latest
7. Просмотрите журналы Zabbix server и дождитесь завершения инициализации схемы базы данных Zabbix server (нажмите Ctrl+C, чтобы выйти из просмотра журналов):
docker logs -f zabbix-server-mysql
# ... [info]: ** Creating 'zabbix' schema in MySQL
# ... [info]: ** Database schema successfully created!
8. Отключите log_bin_trust_function_creators в контейнере MySQL server.
Это снова включает ограничение безопасности, которое запрещает пользователям без привилегии SUPER создавать хранимые функции.
Выполните следующую команду:
docker exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 0;"
9. Запустите контейнер веб-интерфейса Zabbix и подключите его к контейнерам Zabbix server и MySQL server:
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 PHP_TZ="Europe/Riga" \
--network=zabbix-net \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-8.0-latest
После запуска контейнеров Zabbix server будет запущен, а веб-интерфейс будет доступен по адресу http://localhost.
Используйте docker ps, чтобы проверить состояние контейнеров.
Все контейнеры должны иметь статус Up.
Если какой-либо контейнер имеет статус Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.
Развертывание Zabbix server (PostgreSQL) с SNMP traps
В этом примере показано, как развернуть Zabbix server с бэкендом PostgreSQL, SNMP traps и веб-интерфейсом на базе Nginx.
1. Создайте выделенную Docker-сеть, чтобы все контейнеры компонентов Zabbix могли обращаться друг к другу по имени контейнера:
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. Запустите пустой контейнер PostgreSQL server (замените zabbix_pwd на надежный пароль и используйте это значение в следующих шагах):
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 SNMP traps:
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 server и подключите его к контейнерам PostgreSQL server и SNMP traps:
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 \
--init \
-d zabbix/zabbix-server-pgsql:alpine-8.0-latest
5. Просмотрите журналы Zabbix server и дождитесь завершения инициализации схемы базы данных Zabbix server (нажмите Ctrl+C, чтобы выйти из просмотра журналов):
docker logs -f zabbix-server-pgsql
# ... [info]: ** Creating 'zabbix' schema in PostgreSQL
# ... [info]: ** Database schema successfully created!
6. Запустите контейнер веб-интерфейса Zabbix и подключите его к контейнерам Zabbix server и PostgreSQL server:
docker run --name zabbix-web-nginx-pgsql -t \
-e ZBX_SERVER_HOST="zabbix-server-pgsql" \
-e DB_SERVER_HOST="postgres-server" \
-e POSTGRES_DB="zabbix" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix_pwd" \
-e PHP_TZ="Europe/Riga" \
--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
После запуска контейнеров Zabbix server будет запущен, а веб-интерфейс будет доступен по адресу http://localhost.
Используйте docker ps, чтобы проверить состояние контейнеров.
Все контейнеры должны иметь статус Up.
Если какой-либо контейнер имеет статус Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.
Развертывание Zabbix server (MySQL) с Java gateway на RHEL 8–10
В этом примере показано, как развернуть Zabbix server с бэкендом MySQL, Java gateway для мониторинга JMX и веб-интерфейсом на базе Nginx, причем все компоненты работают в Red Hat Enterprise Linux 8, 9 или 10.
В Red Hat Enterprise Linux рекомендуется использовать Podman вместо Docker для запуска контейнеров. Podman работает аналогично Docker, но не требует фоновой службы, работающей от root, что делает его более подходящим для сред Red Hat.
1. Создайте новый pod с именем zabbix и открытыми портами для веб-интерфейса Zabbix и trapper Zabbix server:
podman pod create --name zabbix -p 80:8080 -p 10051:10051
2. (Необязательно) Запустите контейнер Zabbix agent в 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-80:latest
3. Создайте каталог ./mysql/ на хосте RHEL:
mkdir -p ./mysql
4. Запустите пустой контейнер MySQL server (замените zabbix_pwd и root_pwd на надежные пароли и используйте эти значения в следующих шагах):
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=utf8mb4 --collation-server=utf8mb4_bin
5. Просмотрите журналы MySQL и дождитесь, пока MySQL будет готов к подключениям (нажмите Ctrl+C, чтобы выйти из просмотра журналов):
podman logs -f mysql-server
# ... [Server] /usr/sbin/mysqld: ready for connections. ...
6. Запустите контейнер Zabbix Java gateway:
podman run --name zabbix-java-gateway -t \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-java-gateway-80
7. Включите log_bin_trust_function_creators в контейнере MySQL server.
Это временно ослабляет ограничения безопасности для хранимых функций; в последующих шагах этот параметр будет отключен.
Он позволяет пользователю базы данных Zabbix создавать хранимые функции без привилегии SUPER, которая требуется MySQL при включенном двоичном журналировании (по умолчанию с MySQL 8.0).
Выполните следующую команду:
podman exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 1;"
8. Запустите контейнер Zabbix server и подключите его к контейнерам Java Gateway и MySQL 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 ZBX_JAVAGATEWAY="127.0.0.1" \
--restart=always \
--init \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-server-mysql-80
9. Просмотрите журналы Zabbix server и дождитесь завершения инициализации схемы базы данных Zabbix server (нажмите Ctrl+C, чтобы выйти из просмотра журналов):
podman logs -f zabbix-server-mysql
# ... [info]: ** Creating 'zabbix' schema in MySQL
# ... [info]: ** Database schema successfully created!
10. Отключите log_bin_trust_function_creators в контейнере MySQL server.
Это снова включает ограничение безопасности, которое запрещает пользователям без привилегии SUPER создавать хранимые функции.
Выполните следующую команду:
podman exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 0;"
11. Запустите контейнер веб-интерфейса Zabbix и подключите его к контейнерам Zabbix server и MySQL server:
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 PHP_TZ="Europe/Riga" \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-web-mysql-80
Pod zabbix открывает порт 80/TCP (HTTP) на хост-машине из порта 8080/TCP контейнера zabbix-web-mysql.
После запуска контейнеров Zabbix server будет запущен, а веб-интерфейс будет доступен по адресу http://localhost.
Используйте docker ps, чтобы проверить состояние контейнеров.
Все контейнеры должны иметь статус Up.
Если какой-либо контейнер имеет статус Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.