5 コンテナからのインストール
概要
このセクションでは、Docker または Docker Compose を使用して Zabbix をデプロイする方法について説明します。
Zabbix は公式に以下を提供しています。
- 各 Zabbix コンポーネントごとに個別の Docker イメージ。これにより、ポータブルで自己完結型のコンテナとして実行できます。
- Docker で複数コンテナの Zabbix コンポーネントを定義および実行するための Compose ファイル。
Zabbix 6.0 以降では、決定論的トリガーはインストール時に作成する必要があります。
MySQL/MariaDB でバイナリログが有効になっている場合、これにはスーパーユーザー権限、または変数/設定パラメータ log_bin_trust_function_creators = 1 の設定が必要です。
変数の設定方法については、データベース作成スクリプト を参照してください。
コンソールから実行した場合、この変数は一時的にのみ設定され、Docker が再起動されると失われることに注意してください。
この場合は、SQL サービスは実行したままにし、'docker compose down zabbix-server' を実行して zabbix-server サービスのみを停止し、その後 'docker compose up -d zabbix-server' を実行してください。
または、この変数を設定ファイルで設定することもできます。
ソースファイル
Dockerファイルのソースは、GitHub上のZabbixの公式リポジトリに保存されており、そこで最新のファイル変更を追跡したり、プロジェクトをフォークして独自のイメージを作成したりできます。
Docker
Zabbix は、さまざまな OS ベースイメージに基づくイメージを提供しています。 特定の Zabbix コンポーネントでサポートされているベースオペレーティングシステムイメージの一覧を取得するには、Docker Hub にある各コンポーネントの説明を参照してください。 すべての Zabbix イメージは、ベースイメージが更新された場合に最新イメージを再ビルドするよう設定されています。
インストール
Zabbix コンポーネントのイメージを取得するには、次を実行します。
docker pull zabbix/zabbix-server-mysql
zabbix/zabbix-server-mysql を必要な Docker リポジトリ名に置き換えてください。
このコマンドは、Alpine Linux OS ベースの最新の安定版 Zabbix コンポーネントバージョンを取得します。 別のオペレーティングシステムをベースにしたイメージ、または特定の Zabbix メジャー/マイナーバージョンのイメージを取得するには、リポジトリ名に tags を追加できます。
Docker Hub では、次のリポジトリを利用できます。
| Component | Docker repository | |
|---|---|---|
| Zabbix エージェント | zabbix/zabbix-agent | |
| Zabbix サーバー | ||
| MySQL サポート付き | zabbix/zabbix-server-mysql | |
| PostgreSQL サポート付き | zabbix/zabbix-server-pgsql | |
| Zabbix Webインターフェース | ||
| MySQL サポート付き Apache2 Web サーバーベース | zabbix/zabbix-web-apache-mysql | |
| PostgreSQL サポート付き Apache2 Web サーバーベース | zabbix/zabbix-web-apache-pgsql | |
| MySQL サポート付き Nginx Web サーバーベース | zabbix/zabbix-web-nginx-mysql | |
| PostgreSQL サポート付き Nginx Web サーバーベース | zabbix/zabbix-web-nginx-pgsql | |
| Zabbix プロキシ | ||
| SQLite3 サポート付き | zabbix/zabbix-proxy-sqlite3 | |
| MySQL サポート付き | zabbix/zabbix-proxy-mysql | |
| Zabbix Javaゲートウェイ | zabbix/zabbix-java-gateway | |
SNMP トラップのサポートは、別リポジトリ zabbix/zabbix-snmptraps で提供されています。 これは Zabbix サーバーおよび Zabbix プロキシとリンクできます。
タグ
公式のZabbixコンポーネントイメージには、以下のタグを含めることができます。
| Tag | Description | Example |
|---|---|---|
| latest | Alpine LinuxイメージをベースにしたZabbixコンポーネントの最新の安定版。 | zabbix-agent:latest |
| <OS>-trunk | 特定のオペレーティングシステム上で現在開発中の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.0、7.4)。 |
zabbix-agent:alpine-7.4-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.0、7.4)。 * - Zabbixのマイナーバージョン |
zabbix-agent:alpine-7.4.1 |
初期設定
イメージをダウンロードした後、docker run コマンドを実行し、必要な環境変数やマウントポイントを指定する追加引数を続けて、コンテナを起動します。
いくつかの設定例を以下に示します。
Zabbixコンポーネント間の通信を有効にするため、Zabbixサーバー(trapper)用の10051/TCP、Zabbixエージェント用の10050/TCP、SNMPトラップ用の162/UDP、Zabbix Webインターフェース用の80/TCPなどの一部のポートがホストマシンに公開されます。 Zabbixコンポーネントで使用されるデフォルトポートの完全な一覧は、Requirementsページで確認できます。 Zabbixサーバーおよびエージェントでは、デフォルトポートは ZBX_LISTENPORT 環境変数 を設定することで変更できます。
環境変数
すべてのZabbixコンポーネントイメージは、設定を制御するための環境変数を提供しています。 サポートされている環境変数は、コンポーネントリポジトリに一覧表示されています。
これらの環境変数はZabbix設定ファイルのオプションに対応していますが、命名方法が異なります。
例えば、ZBX_LOGSLOWQUERIES は、Zabbix サーバー または Zabbix プロキシ 設定ファイル内の LogSlowQueries に相当します。
一部の設定オプション(例: PIDFile および LogType)は変更できません。
以下の環境変数はDockerコンポーネント固有のものであり、Zabbix設定ファイルには存在しません。
| Variable | Components | Default value | Description |
|---|---|---|---|
DB_SERVER_HOST |
サーバー プロキシ Webインターフェース |
MYSQL の場合は mysql-server PostgreSQL の場合は postgres-server |
MySQL または PostgreSQL サーバーのIPアドレスまたはDNS名。 |
DB_SERVER_PORT |
サーバー プロキシ Webインターフェース |
MYSQL の場合は 3306 PostgreSQL の場合は 5432 |
MySQL または PostgreSQL サーバーのポート。 |
MYSQL_USER |
サーバー プロキシ Webインターフェース |
zabbix |
MySQLデータベースユーザー。 |
MYSQL_PASSWORD |
サーバー プロキシ Webインターフェース |
zabbix |
MySQLデータベースパスワード。 |
MYSQL_DATABASE |
サーバー プロキシ Webインターフェース |
Zabbixサーバーの場合は zabbix Zabbixプロキシの場合は zabbix_proxy |
Zabbixデータベース名。 |
POSTGRES_USER |
サーバー Webインターフェース |
zabbix |
PostgreSQLデータベースユーザー。 |
POSTGRES_PASSWORD |
サーバー Webインターフェース |
zabbix |
PostgreSQLデータベースパスワード。 |
POSTGRES_DB |
サーバー Webインターフェース |
Zabbixサーバーの場合は zabbix Zabbixプロキシの場合は zabbix_proxy |
Zabbixデータベース名。 |
PHP_TZ |
Webインターフェース | Europe/Riga |
PHP形式のタイムゾーン。サポートされているタイムゾーンの完全な一覧は php.net で確認できます。 |
ZBX_SERVER_NAME |
Webインターフェース | Zabbix Docker |
Webインターフェースの縦型メニューで、Zabbixロゴの下に表示されるZabbixインストール名。 |
ZBX_JAVAGATEWAY_ENABLE |
サーバー プロキシ |
false |
Java関連のチェックを収集するために、Zabbix Javaゲートウェイとの通信を有効にします。 |
ZBX_ENABLE_SNMP_TRAPS |
サーバー プロキシ |
false |
SNMPトラップ機能を有効にします。これには zabbix-snmptraps インスタンスと、共有ボリューム /var/lib/zabbix/snmptraps をZabbixサーバーまたはZabbixプロキシに設定する必要があります。 |
ボリューム
イメージでは、以下のマウントポイントを使用してボリュームをマウントできます。
| ボリューム | 説明 | |
|---|---|---|
| Zabbix エージェント | ||
| /etc/zabbix/zabbix_agentd.d | このボリュームを使用すると、*.conf ファイルを追加でき、UserParameter 機能を使用して Zabbix エージェントを拡張できます |
|
| /var/lib/zabbix/modules | このボリュームを使用すると、追加モジュールをロードでき、LoadModule 機能を使用して Zabbix エージェントを拡張できます | |
| /var/lib/zabbix/enc | このボリュームは TLS 関連ファイルの保存に使用されます。これらのファイル名は、環境変数 ZBX_TLSCAFILE、ZBX_TLSCRLFILE、ZBX_TLSKEY_FILE、ZBX_TLSPSKFILE を使用して指定します |
|
| Zabbix サーバー | ||
| /usr/lib/zabbix/alertscripts | このボリュームはカスタムアラートスクリプトに使用されます。zabbix_server.conf の AlertScriptsPath パラメータです |
|
| /usr/lib/zabbix/externalscripts | このボリュームは 外部チェック で使用されます。zabbix_server.conf の ExternalScripts パラメータです |
|
| /var/lib/zabbix/modules | このボリュームを使用すると、追加モジュールをロードでき、LoadModule 機能を使用して Zabbix サーバーを拡張できます | |
| /var/lib/zabbix/enc | このボリュームは TLS 関連ファイルの保存に使用されます。これらのファイル名は、環境変数 ZBX_TLSCAFILE、ZBX_TLSCRLFILE、ZBX_TLSKEY_FILE、ZBX_TLSPSKFILE を使用して指定します |
|
| /var/lib/zabbix/ssl/certs | このボリュームは、クライアント認証用の SSL クライアント証明書ファイルの保存場所として使用されます。zabbix_server.conf の SSLCertLocation パラメータです |
|
| /var/lib/zabbix/ssl/keys | このボリュームは、クライアント認証用の SSL 秘密鍵ファイルの保存場所として使用されます。zabbix_server.conf の SSLKeyLocation パラメータです |
|
| /var/lib/zabbix/ssl/ssl_ca | このボリュームは、SSL サーバー証明書検証用の認証局 (CA) ファイルの保存場所として使用されます。zabbix_server.conf の SSLCALocation パラメータです |
|
| /var/lib/zabbix/snmptraps | このボリュームは snmptraps.log ファイルの保存場所として使用されます。このボリュームは zabbix-snmptraps コンテナと共有でき、新しい Zabbix サーバーインスタンスの作成時に Docker の volumes_from オプションを使用して継承できます。SNMP トラップ処理機能は、共有ボリュームを使用し、環境変数 ZBX_ENABLE_SNMP_TRAPS を 'true' に切り替えることで有効にできます |
|
| /var/lib/zabbix/mibs | このボリュームを使用すると、新しい MIB ファイルを追加できます。サブディレクトリはサポートされていないため、すべての MIB は /var/lib/zabbix/mibs に配置する必要があります |
|
| Zabbix プロキシ | ||
| /usr/lib/zabbix/externalscripts | このボリュームは 外部チェック で使用されます。zabbix_proxy.conf の ExternalScripts パラメータです |
|
| /var/lib/zabbix/db_data/ | このボリュームを使用すると、データベースファイルを外部デバイスに保存できます。SQLite3 を使用する Zabbix プロキシでのみサポートされます | |
| /var/lib/zabbix/modules | このボリュームを使用すると、追加モジュールをロードでき、LoadModule 機能を使用して Zabbix サーバーを拡張できます | |
| /var/lib/zabbix/enc | このボリュームは TLS 関連ファイルの保存に使用されます。これらのファイル名は、環境変数 ZBX_TLSCAFILE、ZBX_TLSCRLFILE、ZBX_TLSKEY_FILE、ZBX_TLSPSKFILE を使用して指定します |
|
| /var/lib/zabbix/ssl/certs | このボリュームは、クライアント認証用の SSL クライアント証明書ファイルの保存場所として使用されます。zabbix_proxy.conf の SSLCertLocation パラメータです |
|
| /var/lib/zabbix/ssl/keys | このボリュームは、クライアント認証用の SSL 秘密鍵ファイルの保存場所として使用されます。zabbix_proxy.conf の SSLKeyLocation パラメータです |
|
| /var/lib/zabbix/ssl/ssl_ca | このボリュームは、SSL サーバー証明書検証用の認証局 (CA) ファイルの保存場所として使用されます。zabbix_proxy.conf の SSLCALocation パラメータです |
|
| /var/lib/zabbix/snmptraps | このボリュームは snmptraps.log ファイルの保存場所として使用されます。このボリュームは zabbix-snmptraps コンテナと共有でき、新しい Zabbix サーバーインスタンスの作成時に Docker の volumes_from オプションを使用して継承できます。SNMP トラップ処理機能は、共有ボリュームを使用し、環境変数 ZBX_ENABLE_SNMP_TRAPS を 'true' に切り替えることで有効にできます |
|
| /var/lib/zabbix/mibs | このボリュームを使用すると、新しい MIB ファイルを追加できます。サブディレクトリはサポートされていないため、すべての MIB は /var/lib/zabbix/mibs に配置する必要があります |
|
| Apache2 Web サーバーをベースとした Zabbix Webインターフェース | ||
| /etc/ssl/apache2 | このボリュームを使用すると、Zabbix Webインターフェースで HTTPS を有効にできます。このボリュームには、Apache2 の SSL 接続用に準備された ssl.crt と ssl.key の 2 つのファイルが含まれている必要があります |
|
| Nginx Web サーバーをベースとした Zabbix Webインターフェース | ||
| /etc/ssl/nginx | このボリュームを使用すると、Zabbix Webインターフェースで HTTPS を有効にできます。このボリュームには、Nginx の SSL 接続用に準備された ssl.crt、ssl.key、dhparam.pem が含まれている必要があります |
|
| Zabbix snmptraps | ||
| /var/lib/zabbix/snmptraps | このボリュームには、受信した SNMP トラップを記録した snmptraps.log ログファイルが含まれます |
|
| /var/lib/zabbix/mibs | このボリュームを使用すると、新しい MIB ファイルを追加できます。サブディレクトリはサポートされていないため、すべての MIB は /var/lib/zabbix/mibs に配置する必要があります |
|
追加情報については、Docker Hub の Zabbix 公式リポジトリを参照してください。
例
例 1
この例では、MySQLデータベース対応のZabbixサーバー、Nginx WebサーバーベースのZabbix Webインターフェース、およびZabbix Javaゲートウェイを実行する方法を示します。
1. Zabbixコンポーネントコンテナ専用のネットワークを作成します。
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. 空のMySQLサーバーインスタンスを起動します。
MySQL 8.4以降では、mysql_native_password の代わりに caching_sha2_password を使用する必要があります。
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=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
3. Zabbix Javaゲートウェイインスタンスを起動します。
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-7.4-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-7.4-latest
5. Zabbix Webインターフェースを起動し、作成した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-7.4-latest
例 2
この例では、PostgreSQLデータベース対応のZabbixサーバー、Nginx WebサーバーベースのZabbix Webインターフェース、およびSNMPトラップ機能を実行する方法を示します。
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-7.4-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-7.4-latest
5. Zabbix Webインターフェースを起動し、作成した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-7.4-latest
例 3
この例では、Red Hat 8 上で podman を使用して、MySQLデータベース対応のZabbixサーバー、Nginx WebサーバーベースのZabbix Webインターフェース、およびZabbix Javaゲートウェイを実行する方法を示します。
1. zabbix という名前の新しいpodを作成し、ポート(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. ホスト上に ./mysql/ ディレクトリを作成し、Oracle MySQLサーバー 8.0 を起動します。
MySQL 8.4以降では、mysql_native_password の代わりに caching_sha2_password を使用する必要があります。
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=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_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 Webインターフェースコンテナを起動します。
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 は、zabbix-web-mysql コンテナの 8080/TCP からホストマシンに 80/TCP ポート(HTTP)を公開します。
Docker Compose
または、ZabbixはDocker Composeプラグインを使用してインストールすることもできます。 複数コンテナのZabbixコンポーネントを定義して実行するためのComposeファイルは、GitHub上の公式のZabbix Dockerリポジトリで利用できます。
公式のZabbix composeファイルは、Docker Composeのバージョン3をサポートしています。
これらのcomposeファイルは例として追加されていますが、多くの構成が含まれています。 たとえば、MySQLとSQLite3の両方をサポートするプロキシが含まれています。
Zabbixが提供するDocker composeファイルを取得するには、リポジトリをクローンします。
git clone https://github.com/zabbix/zabbix-docker.git
必要なバージョンに切り替えます。
git checkout 7.4
Compose設定ファイルを使用してコンテナを作成し、起動します。
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up
上記のコマンド内のdocker-compose_v3_alpine_mysql_latest.yamlを、必要な設定ファイルに置き換えてください。
利用可能なオプションは次のとおりです。
| File name | Description |
|---|---|
docker-compose_v3_alpine_mysql_latest.yaml |
このcomposeファイルは、Alpine Linux上でMySQLデータベースをサポートする最新バージョンのZabbix 7.4コンポーネントを実行します。 |
docker-compose_v3_alpine_mysql_local.yaml |
このcomposeファイルは、最新バージョンのZabbix 7.4をローカルでビルドし、Alpine Linux上でMySQLデータベースをサポートするZabbixコンポーネントを実行します。 |
docker-compose_v3_alpine_pgsql_latest.yaml |
このcomposeファイルは、Alpine Linux上でPostgreSQLデータベースをサポートする最新バージョンのZabbix 7.4コンポーネントを実行します。 |
docker-compose_v3_alpine_pgsql_local.yaml |
このcomposeファイルは、最新バージョンのZabbix 7.4をローカルでビルドし、Alpine Linux上でPostgreSQLデータベースをサポートするZabbixコンポーネントを実行します。 |
docker-compose_v3_ol_mysql_latest.yaml |
このcomposeファイルは、Oracle Linux上でMySQLデータベースをサポートする最新バージョンのZabbix 7.4コンポーネントを実行します。 |
docker-compose_v3_ol_mysql_local.yaml |
このcomposeファイルは、最新バージョンのZabbix 7.4をローカルでビルドし、Oracle Linux上でMySQLデータベースをサポートするZabbixコンポーネントを実行します。 |
docker-compose_v3_ol_pgsql_latest.yaml |
このcomposeファイルは、Oracle Linux上でPostgreSQLデータベースをサポートする最新バージョンのZabbix 7.4コンポーネントを実行します。 |
docker-compose_v3_ol_pgsql_local.yaml |
このcomposeファイルは、最新バージョンのZabbix 7.4をローカルでビルドし、Oracle Linux上でPostgreSQLデータベースをサポートするZabbixコンポーネントを実行します。 |
docker-compose_v3_ubuntu_mysql_latest.yaml |
このcomposeファイルは、Ubuntu 24.04 (noble)上でMySQLデータベースをサポートする最新バージョンのZabbix 7.4コンポーネントを実行します。 |
docker-compose_v3_ubuntu_mysql_local.yaml |
このcomposeファイルは、最新バージョンのZabbix 7.4をローカルでビルドし、Ubuntu 24.04 (noble)上でMySQLデータベースをサポートするZabbixコンポーネントを実行します。 |
docker-compose_v3_ubuntu_pgsql_latest.yaml |
このcomposeファイルは、Ubuntu 24.04 (noble)上でPostgreSQLデータベースをサポートする最新バージョンのZabbix 7.4コンポーネントを実行します。 |
docker-compose_v3_ubuntu_pgsql_local.yaml |
このcomposeファイルは、最新バージョンのZabbix 7.4をローカルでビルドし、Ubuntu 24.04 (noble)上でPostgreSQLデータベースをサポートするZabbixコンポーネントを実行します。 |
ストレージ
Composeファイルは、ホストマシン上のローカルストレージをサポートするように構成されています。
Docker Composeは、Composeファイルを使用してZabbixコンポーネントを実行するときに、Composeファイルのあるフォルダーにzbx_envディレクトリを作成します。
このディレクトリには、ボリュームセクションで説明したものと同じ構造と、データベースストレージ用のディレクトリが含まれます。
/etc/localtimeおよび/etc/timezoneファイルに対して読み取り専用モードのボリュームもあります。
環境変数
変数ファイルは、.env_<コンポーネントの種類>という名前構造を持ち、env_varsディレクトリにあります。変数の名前と利用可能な選択の詳細については、環境変数を参照してください。
例
例1
git checkout 7.4
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
このコマンドは、各Zabbixコンポーネント向けの最新のZabbix 7.4イメージをダウンロードし、デタッチモードで実行します。
composeファイルとともに、github.com の公式Zabbixリポジトリから .env_<type of component> ファイルをダウンロードすることを忘れないでください。
例2
git checkout 7.4
docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d
このコマンドは、ベースイメージ Ubuntu 24.04(noble)をダウンロードし、その後Zabbix 7.4コンポーネントをローカルでビルドして、デタッチモードで実行します。