5 コンテナからのインストール
概要
このページでは、Docker または Docker Compose を使用して Zabbix をデプロイする方法について説明します。
Docker Compose は、Zabbix をデプロイする最も手早い方法です。
設定ファイルを読み込み、完全な Zabbix 環境を構成するすべてのコンテナを、正しい順序で自動的に起動します。
Docker (manual deployment) では、各コンポーネントを段階的にデプロイすることで、同じ結果を実現します。
前提条件
開始する前に、Docker (1.12.0 以降) がシステムにインストールされていることを確認してください。 インストールされていない場合は、Docker インストールガイドに従ってください。 Docker Compose を使用したデプロイでは、Docker Compose (2.24.0 以降) も必要です。
一部の Zabbix コンポーネントでは、Docker を実行しているホストで特定のポートを開放する必要があります (例: Zabbix サーバー用の 10051/TCP、SNMP トラップ用の 162/UDP)。
Zabbix コンポーネントで使用されるポートの完全な一覧については、要件 を参照してください。
Zabbix サーバーとエージェントでは、各コンテナで ZBX_LISTENPORT 環境変数を設定することで、デフォルトのポートを変更できます。
利用可能なDockerイメージ
Zabbixは各ZabbixコンポーネントごとにDockerイメージを提供しており、すべて Docker Hub に公開されています。
各イメージは、そのコンポーネントを実行するコンテナを作成するために使用されます。
| Zabbix component | Docker image |
|---|---|
| エージェント | zabbix/zabbix-agent |
| エージェント 2 | zabbix/zabbix-agent2 |
| サーバー (MySQL) | zabbix/zabbix-server-mysql |
| サーバー (PostgreSQL) | zabbix/zabbix-server-pgsql |
| Webインターフェース (Apache + MySQL) | zabbix/zabbix-web-apache-mysql |
| Webインターフェース (Apache + PostgreSQL) | zabbix/zabbix-web-apache-pgsql |
| Webインターフェース (Nginx + MySQL) | zabbix/zabbix-web-nginx-mysql |
| Webインターフェース (Nginx + PostgreSQL) | zabbix/zabbix-web-nginx-pgsql |
| プロキシ (SQLite3) | zabbix/zabbix-proxy-sqlite3 |
| プロキシ (MySQL) | zabbix/zabbix-proxy-mysql |
| Javaゲートウェイ | zabbix/zabbix-java-gateway |
| Web service | zabbix/zabbix-web-service |
| SNMP traps | zabbix/zabbix-snmptraps |
SNMP traps を使用するには、SNMP traps コンテナが Zabbix サーバーまたはプロキシコンテナとボリュームを共有している必要があります(Docker Hub の このイメージの使用方法 と、以下の 例 を参照してください)。
Docker Hub 上のすべての Zabbix コンポーネントイメージは、サポート対象のオペレーティングシステム の最新メジャーバージョンをベースにしています。
これらのイメージは、基盤となる OS イメージが更新されると自動的に再ビルドされます。
イメージタグ
各イメージは、ベースOSとZabbixバージョンを選択するためのタグをサポートしています:
zabbix/<image>:<os>-<version>
サポートされる <os> の値:
alpine- Alpine Linuxubuntu- Ubuntucentos- CentOS Streamol- Oracle Linuxltsc2022- Windows 11 LTSC 2022 (Zabbix エージェントのみ)
サポートされる <version> の値:
latest- Alpine Linux 上の最新の安定版Zabbix<os>-latest- 選択したOS上の最新の安定版Zabbix<os>-trunk- 選択したOS上の最新の開発版 (nightly) ビルド<os>-X.X-latest- 選択したOS上の、特定のZabbixメジャーバージョンにおける最新のマイナーリリース<os>-X.X.*- 選択したOS上の特定のZabbixマイナーリリース
例:
# Alpine Linux 上の最新の安定版 Zabbix プロキシ (SQLite3):
docker pull zabbix/zabbix-proxy-sqlite3:latest
# Ubuntu 上の最新の安定版 Zabbix プロキシ (SQLite3):
docker pull zabbix/zabbix-proxy-sqlite3:ubuntu-latest
# Ubuntu 上の最新の開発版 (nightly) ビルドの Zabbix サーバー (MySQL):
docker pull zabbix/zabbix-server-mysql:ubuntu-trunk
# Alpine Linux 上の Zabbix サーバー (MySQL) の最新 7.4 マイナーリリース:
docker pull zabbix/zabbix-server-mysql:alpine-7.4-latest
# Alpine Linux 上の Zabbix サーバー (MySQL) バージョン 7.4.1:
docker pull zabbix/zabbix-server-mysql:alpine-7.4.1
Docker Compose
Docker Compose は、Zabbix を最も手早くデプロイする方法です。 設定ファイル(Compose file)を読み込み、Docker イメージの取得、コンテナ間の内部ネットワークの作成、ストレージの設定、データベースの初期化、そしてすべてを正しい順序で起動するまで、セットアップ全体を処理します。
公式 Zabbix Dockerfiles リポジトリには、すぐに使える Docker Compose ファイルと、さまざまなオペレーティングシステム、データベースバックエンド、Zabbix コンポーネントの設定をサポートする .env ベースの設定システムが用意されています。
1. リポジトリをクローンし、そのディレクトリに移動して、7.4 に切り替えます:
git clone https://github.com/zabbix/zabbix-docker.git
cd zabbix-docker
git checkout 7.4
2. (任意)環境変数 を使用してデプロイをカスタマイズします。 デフォルト構成の場合、この手順は省略できます。
3. デフォルト構成をデプロイします。Zabbix サーバー、Webインターフェース(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 サーバーが起動し、Webインターフェースは 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 ファイルを編集することもできます。
たとえば、次のコマンドは、Ubuntu ベースのイメージ(デフォルトの Alpine Linux の代わり)を使用し、Webインターフェースを Nginx 経由でカスタム HTTP(8282)および HTTPS(8443)ポートに公開する、完全なマルチコンテナの Zabbix 環境をデプロイします。
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 コンポーネントの設定を制御します。
docker compose コマンドを実行する前に、該当する .env_<component> ファイルを編集してください。
たとえば、次の変数を編集することで、Zabbix サーバーの passive poller 数や cache 設定を調整したり、Webインターフェースのタイムゾーンを設定したりできます。
# 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 Hub 上の各コンポーネントの Docker イメージ 説明にある Environment variables セクションを参照してください。
ボリューム
Docker Compose は、Compose ファイルと同じ場所に作成される zbx_env/ ディレクトリに永続データを保存します。
このディレクトリは、コンテナの再起動や更新をまたいでコンポーネントのデータを保持します。
zbx_env/ の内容は、各コンポーネントのイメージごとにあらかじめ定義されています。たとえば、次のとおりです。
zbx_env/etc/- Zabbix Webインターフェースコンテナ で使用zbx_env/usr/およびzbx_env/var/- Zabbix サーバーコンテナ で使用
各ボリュームの詳細については、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Allowed volumes セクションを参照してください。
Makefile
Zabbix Dockerfiles リポジトリには、一般的な Docker Compose タスクのショートカットとして Makefile も用意されています。
完全な docker compose コマンドの代わりに、より短い make コマンドを使用できます(利用可能なオプションを確認するには make help を実行してください):
# デフォルトのデプロイメント(Zabbix サーバー、Webインターフェース、MySQL、すべて Alpine Linux 上)
make up
# カスタムデプロイメント(Zabbix サーバー、カスタム Nginx ポートを持つ Webインターフェース、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 サーバー、Webインターフェース、データベース)。
これによりセットアップを軽量に保ち、不要な可能性のあるコンポーネントの起動を避けられます。
追加のコンポーネントを含めるには、次の Compose プロファイル を使用できます:
# デフォルトのデプロイメント + Zabbix エージェント、Javaゲートウェイ、Web サービス、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.4-latest
このコマンドは次の処理を行います。
-
zabbix/zabbix-proxy-sqlite3:alpine-7.4-latestDocker イメージ を取得します。 -
Docker イメージを基に
zabbix-proxy-sqlite3コンテナを作成して起動します(--initおよび-dフラグを使用)。 -
ZBX_SERVER_HOST環境変数を使用して、Zabbix プロキシのServerパラメータを設定します。 このパラメータは、プロキシが設定データを取得し、収集したデータを送信する Zabbix サーバーの IP アドレスを指定します。 アクティブプロキシ動作に必要な他の変数はデフォルト値を使用するため、省略できます。
環境変数は、異なる命名規則を使用して Zabbix コンポーネントの設定パラメータに対応します(例: ZBX_SERVER_HOST は Server に対応)。
一部の変数は Docker 固有であり、変更できない設定パラメータもあります(例: PIDFile や LogType)。
環境変数を使用する場合は、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Environment variables セクションを参照してください。
- Docker によって管理される保存先(例:
/var/lib/docker/volumes/zabbix-proxy-data/)をコンテナの/var/lib/zabbixディレクトリに接続し、コンテナを削除しても Zabbix プロキシのデータが永続的に保存されるようにします。
各ボリュームの詳細については、Docker Hub 上の各コンポーネントの Docker イメージ の説明にある Allowed volumes セクションを参照してください。
Zabbix プロキシコンテナをデプロイした後は、Zabbix Webインターフェースで プロキシを追加し、このプロキシで監視するように ホストを設定 できます。
以下の例では、さらに 3 つのデプロイシナリオを紹介します。
- Zabbix サーバー (MySQL) と Javaゲートウェイ
- Zabbix サーバー (PostgreSQL) と SNMP トラップ
- Zabbix サーバー (MySQL) と RHEL 8–10 上の Javaゲートウェイ
その他の例については、Docker Hub 上の各コンポーネントの Docker イメージ の説明を参照してください。
Javaゲートウェイを使用した Zabbix サーバー (MySQL) のデプロイ
この例では、MySQL バックエンド、JMX monitoring 用の Javaゲートウェイ、および Nginx ベースの Webインターフェースを備えた Zabbix サーバーをデプロイする方法を示します。
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ゲートウェイコンテナーを実行します。
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-7.4-latest
5. MySQL サーバーコンテナーで log_bin_trust_function_creators を有効にします。
これにより、ストアド関数に対するセキュリティ制限が一時的に緩和されます。この設定は後の手順で無効にします。
これにより、Zabbix データベースユーザーは SUPER 権限なしでストアド関数を作成できます。これは、binary logging が有効な場合に 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-7.4-latest
7. Zabbix サーバーのログを追跡し、Zabbix サーバーがデータベーススキーマの初期化を完了するまで待ちます (Ctrl+C でログ表示を終了します)。
docker logs -f zabbix-server-mysql
# ... [info]: ** Creating 'zabbix' schema in MySQL
# ... [info]: ** Database schema successfully created!
8. MySQL サーバーコンテナーで log_bin_trust_function_creators を無効にします。
これにより、SUPER 以外のユーザーによるストアド関数の作成を防ぐセキュリティ制限が再び有効になります。
次のコマンドを実行します。
docker exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 0;"
9. Zabbix Webインターフェースコンテナーを実行し、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.4-latest
コンテナーが起動して実行中になったら、Zabbix サーバーが開始され、Webインターフェースは http://localhost で利用できます。
docker ps を使用してコンテナーの状態を確認してください。
すべてのコンテナーは Up 状態である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。
Javaゲートウェイを使用した Zabbix サーバー (PostgreSQL) のデプロイ
この例では、PostgreSQL バックエンド、SNMP traps、および Nginx ベースの Webインターフェースを備えた Zabbix サーバーをデプロイする方法を示します。
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 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-7.4-latest
4. Zabbix サーバーコンテナーを実行し、PostgreSQL サーバーおよび 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-7.4-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 Webインターフェースコンテナーを実行し、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.4-latest
コンテナーが起動して実行中になったら、Zabbix サーバーが開始され、Webインターフェースは http://localhost で利用できます。
docker ps を使用してコンテナーの状態を確認してください。
すべてのコンテナーは Up 状態である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。
RHEL 8–10 で Javaゲートウェイを使用した Zabbix サーバー (MySQL) のデプロイ
この例では、MySQL バックエンド、JMX monitoring 用の Javaゲートウェイ、および Nginx ベースの Webインターフェースを備えた Zabbix サーバーを、Red Hat Enterprise Linux 8、9、または 10 上でデプロイする方法を示します。
Red Hat Enterprise Linux では、推奨されるコンテナーランタイムは Docker ではなく Podman です。 Podman は Docker と同様に動作しますが、root として実行されるバックグラウンドサービスを必要としないため、Red Hat 環境により適しています。
1. zabbix という名前の新しい pod を作成し、Zabbix Webインターフェースと Zabbix サーバー trapper 用のポートを公開します。
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. RHEL ホスト上に ./mysql/ ディレクトリを作成します。
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ゲートウェイコンテナーを実行します。
podman run --name zabbix-java-gateway -t \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-java-gateway-74
7. MySQL サーバーコンテナーで log_bin_trust_function_creators を有効にします。
これにより、ストアド関数に対するセキュリティ制限が一時的に緩和されます。この設定は後の手順で無効にします。
これにより、Zabbix データベースユーザーは SUPER 権限なしでストアド関数を作成できます。これは、binary logging が有効な場合に 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-74
9. Zabbix サーバーのログを追跡し、Zabbix サーバーがデータベーススキーマの初期化を完了するまで待ちます (Ctrl+C でログ表示を終了します)。
podman logs -f zabbix-server-mysql
# ... [info]: ** Creating 'zabbix' schema in MySQL
# ... [info]: ** Database schema successfully created!
10. MySQL サーバーコンテナーで log_bin_trust_function_creators を無効にします。
これにより、SUPER 以外のユーザーによるストアド関数の作成を防ぐセキュリティ制限が再び有効になります。
次のコマンドを実行します。
podman exec -it mysql-server mysql -u root -p'root_pwd' \
-e "SET GLOBAL log_bin_trust_function_creators = 0;"
11. Zabbix Webインターフェースコンテナーを実行し、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-74
pod zabbix は、zabbix-web-mysql コンテナーの 8080/TCP からホストマシンへ 80/TCP ポート (HTTP) を公開します。
コンテナーが起動して実行中になったら、Zabbix サーバーが開始され、Webインターフェースは http://localhost で利用できます。
docker ps を使用してコンテナーの状態を確認してください。
すべてのコンテナーは Up 状態である必要があります。
Exited と表示されるものがある場合は、docker logs -f <container-name> でログを確認し、エラーを調べてください。