コンテナからのインストール
概要
このセクションでは、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メジャーまたはマイナーバージョンのイメージを取得できます。
Docker Hubで利用可能なリポジトリは以下の通りです。
| コンポーネント | Dockerリポジトリ | |
|---|---|---|
| Zabbixエージェント | zabbix/zabbix-agent | |
| Zabbixサーバー | ||
| 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プロキシ | ||
| SQLite3サポート | zabbix/zabbix-proxy-sqlite3 | |
| MySQLサポート | zabbix/zabbix-proxy-mysql | |
| Zabbix Javaゲートウェイ | zabbix/zabbix-java-gateway | |
SNMPトラップのサポートは、別リポジトリのzabbix/zabbix-snmptrapsで提供されています。 ZabbixサーバーやZabbixプロキシと連携できます。
タグ
公式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エージェント | ||
| /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オプションで継承できます。共有ボリュームを使用し、ZBX_ENABLE_SNMP_TRAPS 環境変数を'true'に切り替えることでSNMPトラップ処理機能を有効化できます |
|
| /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オプションで継承できます。共有ボリュームを使用し、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 を含める必要があります |
|
| 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サーバーインスタンスを起動します。
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_password
3. Zabbix Javaゲートウェイインスタンスを起動します。
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-8.0-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-8.0-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-8.0-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-8.0-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-8.0-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-8.0-latest
例3
この例では、Red Hat 8上でpodmanを使用して、MySQLデータベースサポート付きのZabbixサーバー、Nginx WebサーバーをベースとしたZabbix Webインターフェース、およびZabbix Javaゲートウェイの実行方法を示します。
1. zabbixという名前の新しいpodを作成し、ポート(Webインターフェース、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-74:latest
3. ホスト上に./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_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ゲートウェイコンテナを起動します。
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ファイルは、公式のZabbix Dockerリポジトリで提供されています。
公式のZabbix ComposeファイルはDocker Composeのバージョン3をサポートしています。
これらのComposeファイルはサンプルとして追加されており、機能が多く含まれています。 例えば、MySQLとSQLite3の両方をサポートするプロキシが含まれています。
Zabbixが提供するDocker Composeファイルを取得するには、リポジトリをクローンします:
git clone https://github.com/zabbix/zabbix-docker.git
必要なバージョンに切り替えます:
git checkout 8.0
Compose設定ファイルを指定して、コンテナを作成・起動します:
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up
上記コマンドの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 24.04(noble)上でMySQLデータベースをサポートするZabbix 8.0の最新コンポーネントを実行します。 |
docker-compose_v3_ubuntu_mysql_local.yaml |
このComposeファイルは、Ubuntu 24.04(noble)上でMySQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
docker-compose_v3_ubuntu_pgsql_latest.yaml |
このComposeファイルは、Ubuntu 24.04(noble)上でPostgreSQLデータベースをサポートするZabbix 8.0の最新コンポーネントを実行します。 |
docker-compose_v3_ubuntu_pgsql_local.yaml |
このComposeファイルは、Ubuntu 24.04(noble)上でPostgreSQLデータベースをサポートするZabbix 8.0の最新バージョンをローカルでビルドし、Zabbixコンポーネントを実行します。 |
ストレージ
Composeファイルは、ホストマシン上のローカルストレージをサポートするように設定されています。
Docker Composeは、composeファイルを使用してZabbixコンポーネントを実行すると、composeファイルのあるフォルダにzbx_envディレクトリを作成します。
このディレクトリには、Volumesセクションで説明されているのと同じ構造と、データベースストレージ用のディレクトリが含まれます。
また、/etc/localtimeおよび/etc/timezoneファイル用に読み取り専用モードのボリュームもあります。
環境変数
変数ファイルは、.env_<コンポーネントの種類>という名前構造を持ち、env_vars ディレクトリに配置されています。
変数の命名や選択可能な内容の詳細については、環境変数を参照してください。
例
例 1
git checkout 8.0
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
このコマンドは、各Zabbixコンポーネントの最新のZabbix 8.0イメージをダウンロードし、デタッチモードで実行します。
composeファイルと一緒にgithub.comの公式Zabbixリポジトリから.env_<type of component>ファイルをダウンロードするのを忘れないでください。
例 2
git checkout 8.0
docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d
このコマンドは、ベースイメージUbuntu 24.04(noble)をダウンロードし、Zabbix 8.0コンポーネントをローカルでビルドして、デタッチモードで実行します。