このセクションでは、Docker または Docker Compose を使用して Zabbix をデプロイする方法について説明します。
Zabbix では公式に以下を提供しています:
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 公式リポジトリに保存されています。 ここでは、最新のファイル変更を追跡したり、プロジェクトをフォークして独自のイメージを作成したりできます。
Zabbixは、さまざまなOSベースのイメージに基づいたイメージを提供しています。 特定のZabbixコンポーネントに対応するベースオペレーティングシステムイメージの一覧については、Docker Hubの各コンポーネントの説明を参照してください。すべてのZabbixイメージは、ベースイメージが更新された場合に最新イメージを再構築するように設定されています。
Zabbixコンポーネントイメージを取得するには、次のコマンドを実行します。
zabbix/zabbix-server-mysqlを必要なDockerリポジトリ名に置き換えてください。
このコマンドは、Alpine Linux OSベースの最新の安定版Zabbixコンポーネントバージョンを取得します。タグをリポジトリ名に追加することで、別のオペレーティングシステムベースのイメージや、特定のZabbixメジャーまたはマイナーバージョンのイメージを取得できます。
Docker Hubで利用可能なリポジトリは以下の通りです。
| コンポーネント | Dockerリポジトリ | |
|---|---|---|
| Zabbix agent | zabbix/zabbix-agent | |
| Zabbix server | ||
| MySQLサポート | zabbix/zabbix-server-mysql | |
| PostgreSQLサポート | zabbix/zabbix-server-pgsql | |
| Zabbix webインターフェース | ||
| Apache2 Webサーバー(MySQLサポート) | zabbix/zabbix-web-apache-mysql | |
| Apache2 Webサーバー(PostgreSQLサポート) | zabbix/zabbix-web-apache-pgsql | |
| Nginx Webサーバー(MySQLサポート) | zabbix/zabbix-web-nginx-mysql | |
| Nginx Webサーバー(PostgreSQLサポート) | zabbix/zabbix-web-nginx-pgsql | |
| Zabbix proxy | ||
| SQLite3サポート | zabbix/zabbix-proxy-sqlite3 | |
| MySQLサポート | zabbix/zabbix-proxy-mysql | |
| Zabbix Java gateway | zabbix/zabbix-java-gateway | |
SNMPトラップのサポートは、zabbix/zabbix-snmptrapsという別リポジトリで提供されています。これはZabbix serverやZabbix proxyと連携できます。
公式Zabbixコンポーネントイメージには、以下のタグが含まれる場合があります。
| タグ | 説明 | 例 |
|---|---|---|
| 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.4, 8.0)。 |
zabbix-agent:alpine-8.0-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.4, 8.0)。 * - Zabbixのマイナーバージョン |
zabbix-agent:alpine-8.0.1 |
イメージをダウンロードした後、docker runコマンドを実行し、必要な環境変数やマウントポイントを指定する追加の引数を付けてコンテナを起動します。いくつかの設定例を以下に示します。
Zabbixコンポーネント間の通信を有効にするために、Zabbixサーバー(トラッパー)用の10051/TCP、Zabbixエージェント用の10050/TCP、SNMPトラップ用の162/UDP、Zabbix Webインターフェース用の80/TCPなどのポートがホストマシンに公開されます。Zabbixコンポーネントで使用されるデフォルトポートの一覧は、要件ページで確認できます。Zabbixサーバーおよびエージェントの場合、デフォルトポートはZBX_LISTENPORT環境変数を設定することで変更できます。
すべてのZabbixコンポーネントイメージは、設定を制御するための環境変数を提供します。 サポートされている環境変数は、コンポーネントリポジトリに記載されています。
これらの環境変数はZabbixの設定ファイルのオプションですが、命名方法が異なります。 たとえば、ZBX_LOGSLOWQUERIESは、Zabbix サーバーまたはZabbix プロキシの設定ファイルのLogSlowQueriesと同じです。
一部の設定オプション(例:PIDFileやLogType)は変更できません。
以下の環境変数はDockerコンポーネント固有のものであり、Zabbixの設定ファイルには存在しません。
| 変数 | コンポーネント | デフォルト値 | 説明 |
|---|---|---|---|
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インスタンスと、ZabbixサーバーまたはZabbixプロキシへの共有ボリューム/var/lib/zabbix/snmptrapsが必要です。 |
イメージでは、以下のマウントポイントを使用してボリュームをマウントできます。
| ボリューム | 説明 | |
|---|---|---|
| Zabbix agent | ||
| /etc/zabbix/zabbix_agentd.d | このボリュームに *.conf ファイルを含めることで、UserParameter 機能を使ってZabbix agentを拡張できます |
|
| /var/lib/zabbix/modules | このボリュームに追加モジュールを配置することで、LoadModule 機能を使ってZabbix agentを拡張できます | |
| /var/lib/zabbix/enc | このボリュームはTLS関連ファイルの保存に使用されます。ファイル名は ZBX_TLSCAFILE、ZBX_TLSCRLFILE、ZBX_TLSKEY_FILE、ZBX_TLSPSKFILE 環境変数で指定します |
|
| Zabbix server | ||
| /usr/lib/zabbix/alertscripts | このボリュームはカスタムアラートスクリプト用です。zabbix_server.conf の AlertScriptsPath パラメータです |
|
| /usr/lib/zabbix/externalscripts | このボリュームは外部チェックで使用されます。zabbix_server.conf の ExternalScripts パラメータです |
|
| /var/lib/zabbix/modules | このボリュームに追加モジュールを配置することで、LoadModule 機能を使ってZabbix serverを拡張できます | |
| /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 serverの新しいインスタンス作成時にvolumes_from Dockerオプションで継承できます。共有ボリュームを使用し、ZBX_ENABLE_SNMP_TRAPS 環境変数を'true'に切り替えることでSNMPトラップ処理機能を有効化できます |
|
| /var/lib/zabbix/mibs | このボリュームに新しいMIBファイルを追加できます。サブディレクトリはサポートされていません。すべてのMIBは /var/lib/zabbix/mibs に配置する必要があります |
|
| Zabbix proxy | ||
| /usr/lib/zabbix/externalscripts | このボリュームは外部チェックで使用されます。zabbix_proxy.conf の ExternalScripts パラメータです |
|
| /var/lib/zabbix/db_data/ | このボリュームはデータベースファイルを外部デバイスに保存するためのものです。SQLite3を使用したZabbix proxyでのみサポートされます | |
| /var/lib/zabbix/modules | このボリュームに追加モジュールを配置することで、LoadModule 機能を使ってZabbix serverを拡張できます | |
| /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 serverの新しいインスタンス作成時にvolumes_from Dockerオプションで継承できます。共有ボリュームを使用し、ZBX_ENABLE_SNMP_TRAPS 環境変数を'true'に切り替えることでSNMPトラップ処理機能を有効化できます |
|
| /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 の3つのファイルを含める必要があります |
|
| 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ウェブサーバーをベースにしたZabbixウェブインターフェース、およびZabbix Javaゲートウェイを実行する方法を示します。
1. Zabbixコンポーネントコンテナ専用のネットワークを作成します。
2. 空のMySQLサーバーインスタンスを起動します。
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=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=caching_sha2_password3. Zabbix Javaゲートウェイインスタンスを起動します。
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-8.0-latest4. 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-8.0-latest5. Zabbixウェブインターフェースを起動し、作成した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-8.0-latest例2
この例では、PostgreSQLデータベースサポート付きのZabbixサーバー、NginxウェブサーバーをベースにしたZabbixウェブインターフェース、およびSNMPトラップ機能を実行する方法を示します。
1. Zabbixコンポーネントコンテナ専用のネットワークを作成します。
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:latest3. 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-8.0-latest4. 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-8.0-latest5. Zabbixウェブインターフェースを起動し、作成した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-8.0-latest例3
この例では、MySQLデータベースサポート付きのZabbixサーバー、NginxウェブサーバーをベースにしたZabbixウェブインターフェース、およびRed Hat 8上でpodmanを使用したZabbix Javaゲートウェイを実行する方法を示します。
1. zabbixという名前の新しいpodを作成し、ポート(ウェブインターフェース、Zabbixサーバートラッパー)を公開します。
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:latest3. ホスト上に./mysql/ディレクトリを作成し、Oracle MySQLサーバー8.4を起動します。
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=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=caching_sha2_password4. 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-745. Zabbix Javaゲートウェイコンテナを起動します。
podman run --name zabbix-java-gateway -t \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-java-gateway-746. Zabbixウェブインターフェースコンテナを起動します。
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-74Pod zabbixは、zabbix-web-mysqlコンテナの8080/TCPからホストマシンの80/TCPポート(HTTP)を公開します。
また、ZabbixはDocker Composeプラグインを使用してインストールすることもできます。 複数コンテナのZabbixコンポーネントを定義・実行するためのComposeファイルは、公式のZabbix Dockerリポジトリで提供されています。
公式のZabbix ComposeファイルはDocker Composeのバージョン3をサポートしています。
これらのComposeファイルは例として追加されています。内容は多岐にわたります。 例えば、MySQLとSQLite3の両方をサポートするプロキシが含まれています。
Zabbixが提供するDocker Composeファイルを取得するには、リポジトリをクローンします:
必要なバージョンに切り替えます:
Compose設定ファイルを指定して、コンテナを作成・起動します:
上記コマンドのdocker-compose_v3_alpine_mysql_latest.yamlは、必要な設定ファイルに置き換えてください。
利用可能なオプションは以下の通りです:
| ファイル名 | 説明 |
|---|---|
docker-compose_v3_alpine_mysql_latest.yaml |
このComposeファイルは、Alpine Linux上でMySQLデータベースをサポートするZabbix 8.0コンポーネントの最新バージョンを実行します。 |
docker-compose_v3_alpine_mysql_local.yaml |
このComposeファイルは、Alpine Linux上でMySQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
docker-compose_v3_alpine_pgsql_latest.yaml |
このComposeファイルは、Alpine Linux上でPostgreSQLデータベースをサポートするZabbix 8.0コンポーネントの最新バージョンを実行します。 |
docker-compose_v3_alpine_pgsql_local.yaml |
このComposeファイルは、Alpine Linux上でPostgreSQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
docker-compose_v3_ol_mysql_latest.yaml |
このComposeファイルは、Oracle Linux上でMySQLデータベースをサポートするZabbix 8.0コンポーネントの最新バージョンを実行します。 |
docker-compose_v3_ol_mysql_local.yaml |
このComposeファイルは、Oracle Linux上でMySQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
docker-compose_v3_ol_pgsql_latest.yaml |
このComposeファイルは、Oracle Linux上でPostgreSQLデータベースをサポートするZabbix 8.0コンポーネントの最新バージョンを実行します。 |
docker-compose_v3_ol_pgsql_local.yaml |
このComposeファイルは、Oracle Linux上でPostgreSQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
docker-compose_v3_ubuntu_mysql_latest.yaml |
このComposeファイルは、Ubuntu 22.04上でMySQLデータベースをサポートするZabbix 8.0コンポーネントの最新バージョンを実行します。 |
docker-compose_v3_ubuntu_mysql_local.yaml |
このComposeファイルは、Ubuntu 22.04上でMySQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
docker-compose_v3_ubuntu_pgsql_latest.yaml |
このComposeファイルは、Ubuntu 22.04上でPostgreSQLデータベースをサポートするZabbix 8.0コンポーネントの最新バージョンを実行します。 |
docker-compose_v3_ubuntu_pgsql_local.yaml |
このComposeファイルは、Ubuntu 22.04上でPostgreSQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
Composeファイルは、ホストマシン上のローカルストレージをサポートするように設定されています。 Docker Composeは、composeファイルを使用してZabbixコンポーネントを実行すると、composeファイルのあるフォルダにzbx_envディレクトリを作成します。 このディレクトリには、Volumesセクションで説明されているのと同じ構造と、データベースストレージ用のディレクトリが含まれます。
また、/etc/localtimeおよび/etc/timezoneファイル用に読み取り専用モードのボリュームもあります。
変数ファイルは、.env_<コンポーネントの種類>という名前構造を持ち、env_vars ディレクトリに配置されています。
変数の命名や選択可能な内容の詳細については、環境変数を参照してください。
例1
このコマンドは、各Zabbixコンポーネントの最新のZabbix 8.0イメージをダウンロードし、デタッチモードで実行します。
composeファイル付きのgithub.com公式Zabbixリポジトリから.env_<type of component>ファイルをダウンロードするのを忘れないでください。
例2
このコマンドは、ベースイメージUbuntu 24.04(noble)をダウンロードし、Zabbix 8.0コンポーネントをローカルでビルドしてデタッチモードで実行します。