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

Обзор

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

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

Docker (ручное развёртывание) позволяет достичь того же результата путём поэтапного развёртывания каждого компонента.

Предварительные требования

Прежде чем начать, убедитесь, что в вашей системе установлен Docker (версия 1.12.0 или более поздняя). Если это не так, следуйте руководству по установке Docker [en]. Для развёртывания с помощью Docker Compose также требуется Docker Compose (версия 2.24.0 или более поздняя).

Для работы некоторых компонентов Zabbix на хосте, где запущен Docker, необходимо открыть определённые порты (например, 10051/TCP для сервера Zabbix, 162/UDP для SNMP-трапов). Полный список портов, используемых компонентами 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 или контейнером прокси (см. как использовать этот образ [en] на Docker Hub и пример ниже).

Все образы компонентов Zabbix на Docker Hub основаны на последних мажорных версиях поддерживаемых операционных систем. Эти образы автоматически пересобираются при обновлении базовых образов ОС.

Теги образов

Каждый образ поддерживает теги для выбора базовой операционной системы и версии Zabbix:

zabbix/<образ>:<ос>-<версия>

Поддерживаемые значения <ос>:

  • alpine — Alpine Linux
  • ubuntu — Ubuntu
  • centos — CentOS Stream
  • ol — Oracle Linux
  • ltsc2022 — Windows 11 LTSC 2022 (Zabbix agent only)

Поддерживаемые значения <версия>:

  • latest — Последняя стабильная версия Zabbix на Alpine Linux
  • <os>-latest — Последняя стабильная версия Zabbix на выбранной ОС
  • <os>-trunk — Последняя (еженощная) сборка разработчиков на выбранной ОС
  • <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

# Последняя (ночная) разрабатываемая сборка Zabbix сервера (MySQL) на Ubuntu:
docker pull zabbix/zabbix-server-mysql:ubuntu-trunk

# Последний минорный релиз версии 7.0 Zabbix сервера (MySQL) на Alpine Linux:
docker pull zabbix/zabbix-server-mysql:alpine-7.0-latest

# Версия 7.0.1 Zabbix сервера (MySQL) на Alpine Linux:
docker pull zabbix/zabbix-server-mysql:alpine-7.0.1

Docker Compose

Docker Compose — это самый быстрый способ развёртывания Zabbix. Он считывает конфигурационный файл (файл Compose) и выполняет всю настройку — загрузку образов Docker, создание внутренней сети между контейнерами, настройку хранилища, инициализацию базы данных и запуск всего в правильном порядке.

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

1. Склонируйте репозиторий, перейдите в него и переключитесь на версию 7.0:

git clone https://github.com/zabbix/zabbix-docker.git
cd zabbix-docker
git checkout 7.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 <имя-контейнера>.

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

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

Переменные уровня Compose (определённые в файле .env [en]) управляют тем, какие образы 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_<компонент> [en] files) управляют конфигурацией компонента Zabbix. Отредактируйте соответствующий файл .env_<компонент> перед выполнением команды 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). При использовании переменных окружения, пожалуйста, обратитесь к разделу Переменные окружения в описании каждого компонента образа Docker [en] на Docker Hub.

Тома

Docker Compose сохраняет постоянные данные в каталоге zbx_env/, созданном вместе с файлом Compose. Этот каталог сохраняет данные компонентов при перезапуске и обновлении контейнера.

Содержимое zbx_env/ предопределено для образа каждого компонента. Например:

Для получения более подробной информации о каждом томе смотрите раздел Allowed volumes [en] в описании каждого компонента образа Docker на Docker Hub.

Makefile

Репозиторий Zabbix Dockerfiles также предоставляет 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 [en]:

# Развёртывание по умолчанию + 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-7.0-latest

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

Эта команда:

  • Загружает образ Docker zabbix/zabbix-proxy-sqlite3:alpine-7.0-latest.

  • Создаёт и запускает контейнер zabbix-proxy-sqlite3 на базе этого образа Docker (с флагами --init [en] и -d [en]).

  • Настраивает параметр Server прокси-сервера Zabbix посредством переменной окружения ZBX_SERVER_HOST. Этот параметр указывает IP-адрес Zabbix сервера, с которого прокси будет забирать данные конфигурации и на который он будет отсылать собранные данные. Обратите внимание, что остальные переменные, требуемые для работы прокси в активном режиме, используют значения по умолчанию и могут быть опущены.

Переменные окружения соответствуют параметрам конфигурации компонентов Zabbix, используя другой стиль именования (например, ZBX_SERVER_HOST соответствует Server). Некоторые переменные являются специфичными для Docker, а некоторые параметры конфигурации изменить нельзя (например, PIDFile и LogType). При использовании переменных окружения, пожалуйста, обратитесь к разделу Environment variables [en] в описании каждого компонента образа Docker на Docker Hub.

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

Для получения более подробной информации о каждом томе смотрите раздел Allowed volumes [en] в описании каждого компонента образа Docker на Docker Hub.

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

Приведённые ниже примеры охватывают три дополнительных сценария развертывания:

  • Zabbix сервер (MySQL) с Java gateway
  • Zabbix сервер (PostgreSQL) с SNMP трапами
  • Zabbix сервер (MySQL) с Java gateway на RHEL 8–10

Для получения дополнительных примеров, пожалуйста, обратитесь к описанию каждого компонента образа Docker [en] на 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.0-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-7.0-latest

5. Включите log_bin_trust_function_creators в контейнере сервера MySQL. Это временно ослабляет ограничения безопасности для хранимых функций; данная настройка будет отключена на последующих шагах. Это позволяет пользователю базы данных Zabbix создавать хранимые функции без привилегии SUPER, которая требуется MySQL при включении бинарного журнала [en] (по умолчанию, начиная с 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 \
  -d zabbix/zabbix-server-mysql:alpine-7.0-latest

7. Следите за логами 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-7.0-latest

После запуска контейнеров запускается Zabbix сервер, и веб-интерфейс становится доступен по адресу http://localhost.

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

Развёртывание 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. Запустите контейнер для Zabbix SNMP-трапов:

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 и контейнером 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 \
  -d zabbix/zabbix-server-pgsql:alpine-7.0-latest

5. Следите за логами 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-7.0-latest

После запуска контейнеров запускается Zabbix сервер, и веб-интерфейс становится доступен по адресу http://localhost.

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

Развёртывание 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. Создайте новый под с именем zabbix и откройте порты для веб-интерфейса Zabbix и траппера Zabbix сервера:

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

2. (Необязательно) Запустите контейнер агента Zabbix в расположении пода 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/ на хосте 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.0 \
  --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-70

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

9. Следите за логами 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-70

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

После запуска контейнеров запускается Zabbix сервер, и веб-интерфейс становится доступен по адресу http://localhost.

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