3 コンテナからのアップグレード
概要
このセクションでは、Zabbix 7.4.x コンテナへの正常なアップグレードに必要な手順について説明します。
個々のZabbixコンポーネントイメージおよびDocker compose filesをアップグレードするための個別の手順が用意されています。
アップグレードの前に、関連するアップグレードノートを必ずお読みください。
アップグレードを開始する前に、アップグレード作業のために、ユーザーがデータベースに対する必要な権限を持っていることを確認してください。\
Zabbix 6.0 以前からアップグレードする場合、アップグレード中に決定論的トリガーを作成する必要があります。
MySQL/MariaDB でバイナリログが有効になっている場合、これにはスーパーユーザー権限、または変数/設定パラメータ log_bin_trust_function_creators = 1 の設定が必要です。
この変数の設定方法については、Database creation scriptsを参照してください。
コンソールから実行した場合、この変数は一時的にのみ設定され、Docker が再起動されると失われることに注意してください。
この場合は、SQL サービスは実行したままにし、'docker compose down zabbix-server' を実行して zabbix-server サービスのみを停止し、その後 'docker compose up -d zabbix-server' を実行してください。
または、この変数を設定ファイルで設定することもできます。
データベースのサイズによっては、バージョン 7.4 へのアップグレードにかなり長い時間がかかる場合があります。
Zabbixイメージのアップグレード
以下の手順を使用して、任意のZabbixコンポーネントをアップグレードできます。
zabbix-server-mysql は、必要なコンポーネントのイメージ名に置き換えてください。
1. 現在のイメージバージョンを確認します。
docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql
2. 必要なイメージバージョンを取得します。例:
docker pull zabbix/zabbix-server-mysql:alpine-7.4-latest
zabbix/zabbix-server-mysql:alpine-7.4-latest は、Alpine Linux ベースで MySQL をサポートする Zabbixサーバー 7.4 の最新リリース済みマイナーバージョンを取得します。
必要な Docker リポジトリ名とタグの組み合わせに置き換えてください。
利用可能なオプションの一覧については、コンテナからのインストール を参照してください。
3. コンテナを停止します。
docker stop zabbix-server-mysql
4. コンテナを削除します。
docker rm zabbix-server-mysql
5. docker run コマンドを実行し、必要な環境変数および/またはマウントポイントを指定する追加引数を続けて、更新済みコンテナを起動します。
設定例
MySQL を使用する Zabbixサーバー:
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
PostgreSQL を使用する Zabbixサーバー:
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
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.0-oracle \
--character-set-server=utf8mb4--collation-server=utf8mb4_bin \
他の Zabbix コンポーネントの例を含む、さらに多くの設定例は、コンテナからのインストール ページで確認できます。
6. 更新を確認します。
docker logs -f zabbix-server-mysql
Composeファイル
compose file を使用してZabbixをインストールした場合は、このセクションのアップグレード手順に従ってください。
1. 現在のイメージバージョンを確認します。
docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql
2. GitHubのrepository から最新の更新を取得し、必要なブランチに切り替えます。
git pull
git checkout 7.4
3. 新しいcomposeファイルを使用してZabbixコンポーネントを起動します。
docker-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
4. 更新を確認します。
docker logs -f zabbix-server-mysql
サポートされている環境変数やボリュームのマウントポイントの一覧を含む詳細については、コンテナからのインストール を参照してください。