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

Обзор

На этой странице описывается, как развернуть 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 Linux
  • ubuntu - Ubuntu
  • centos - CentOS Stream
  • ol - Oracle Linux
  • ltsc2022 - 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) и выполняет всю настройку: загружает образы Docker, создает внутреннюю сеть между контейнерами, настраивает хранилище, инициализирует базу данных и запускает все компоненты в правильном порядке.

Репозиторий официальных Dockerfile 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 запускается, а веб-интерфейс становится доступен для входа.

Используйте 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.

Например, можно настроить количество пассивных опросчиков сервера 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/ заранее определено для образа каждого компонента. Например:

Дополнительную информацию о каждом томе см. в разделе 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:
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-latest.

  • Создает и запускает контейнер 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-образа компонента на Docker Hub.

  • Подключает управляемое Docker хранилище (например, /var/lib/docker/volumes/zabbix-proxy-data/) к каталогу /var/lib/zabbix контейнера, чтобы данные прокси Zabbix сохранялись постоянно, даже если контейнер будет удален.

Дополнительные сведения о каждом томе см. в разделе Allowed volumes в описании каждого Docker-образа компонента на Docker Hub.

После развертывания контейнера прокси Zabbix вы можете перейти к добавлению прокси в ваш веб-интерфейс Zabbix и настройке узлов сети для мониторинга через этот прокси.

Примеры ниже охватывают еще три сценария развертывания:

  • сервер Zabbix (MySQL) с Java gateway
  • сервер Zabbix (PostgreSQL) с SNMP traps
  • сервер Zabbix (MySQL) с Java gateway на RHEL 8–10

Дополнительные примеры см. в описании каждого Docker-образа компонента на Docker Hub.

Развертывание сервера Zabbix (MySQL) с Java gateway

В этом примере показано, как развернуть сервер Zabbix с серверной частью 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 (замените 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. Запустите контейнер Java gateway Zabbix:

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. Это временно ослабляет ограничения безопасности для хранимых функций; на следующих шагах этот параметр будет отключен. Это позволяет пользователю базы данных 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 и свяжите его с контейнерами Java Gateway и сервера 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 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 и дождитесь завершения инициализации схемы базы данных сервером Zabbix (для выхода из просмотра журналов нажмите 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. Это повторно включает ограничение безопасности, запрещающее пользователям без привилегии SUPER создавать хранимые функции. Выполните следующую команду:

docker exec -it mysql-server mysql -u root -p'root_pwd' \
  -e "SET GLOBAL log_bin_trust_function_creators = 0;"

9. Запустите контейнер веб-интерфейса Zabbix и свяжите его с контейнерами сервера Zabbix и сервера MySQL:

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 запускается, а веб-интерфейс становится доступен для входа.

Используйте docker ps, чтобы проверить состояние контейнеров. Все контейнеры должны иметь состояние Up. Если у какого-либо контейнера отображается состояние Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.

Развертывание сервера Zabbix (PostgreSQL) с SNMP-ловушками

В этом примере показано, как развернуть сервер Zabbix с серверной частью PostgreSQL, SNMP-ловушками и веб-интерфейсом на базе NGINX.

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

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

2. Запустите пустой контейнер сервера PostgreSQL (замените 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. Запустите контейнер SNMP-ловушек Zabbix:

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 и SNMP-ловушек:

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 и дождитесь завершения инициализации схемы базы данных сервером Zabbix (для выхода из просмотра журналов нажмите Ctrl+C):

docker logs -f zabbix-server-pgsql

# ... [info]: ** Creating 'zabbix' schema in PostgreSQL
# ... [info]: ** Database schema successfully created!

6. Запустите контейнер веб-интерфейса Zabbix и свяжите его с контейнерами сервера Zabbix и сервера PostgreSQL:

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 запускается, а веб-интерфейс становится доступен для входа.

Используйте docker ps, чтобы проверить состояние контейнеров. Все контейнеры должны иметь состояние Up. Если у какого-либо контейнера отображается состояние Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.

Развертывание сервера Zabbix (MySQL) с Java gateway в RHEL 8–10

В этом примере показано, как развернуть сервер Zabbix с серверной частью 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 и траппера сервера 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-80:latest

3. Создайте каталог ./mysql/ на узле RHEL:

mkdir -p ./mysql

4. Запустите пустой контейнер сервера MySQL (замените 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. Запустите контейнер Java gateway Zabbix:

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. Это временно ослабляет ограничения безопасности для хранимых функций; на следующих шагах этот параметр будет отключен. Это позволяет пользователю базы данных 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 и свяжите его с контейнерами Java Gateway и сервера MySQL:

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 и дождитесь завершения инициализации схемы базы данных сервером Zabbix (для выхода из просмотра журналов нажмите 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. Это повторно включает ограничение безопасности, запрещающее пользователям без привилегии SUPER создавать хранимые функции. Выполните следующую команду:

podman exec -it mysql-server mysql -u root -p'root_pwd' \
  -e "SET GLOBAL log_bin_trust_function_creators = 0;"

11. Запустите контейнер веб-интерфейса Zabbix и свяжите его с контейнерами сервера Zabbix и сервера MySQL:

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 запускается, а веб-интерфейс становится доступен для входа.

Используйте docker ps, чтобы проверить состояние контейнеров. Все контейнеры должны иметь состояние Up. Если у какого-либо контейнера отображается состояние Exited, проверьте его журналы на наличие ошибок с помощью docker logs -f <container-name>.