5.1.3 Dockerの最新Enterprise Editionへのアップグレード

Oracle Databaseを使用して前のリリースにトランザクション・ログを格納する場合にのみ、次のステップを実行して、Transaction Manager for Microservices Enterprise Editionの最新リリースにアップグレードします。これらのステップは、Docker環境で実行できます。

MicroTxコーディネータは、メイン・コンテナで実行されます。アップグレード・プロセスの一環として、MicroTxは独立したコンテナに初期化プロセスを作成します。初期化プロセスが起動し、アップグレードの前提条件ステップを完了し、MicroTxコーディネータをアップグレードします。その後、アップグレードが終了すると終了します。メイン・コンテナでも使用されるMicroTxイメージが使用されます。

次のシナリオでは、この項の手順を使用しないでください:

  • トランザクション・ログを以前のリリースのTransaction Manager for Microservices Enterprise Editionに格納するためにetcdまたは内部メモリーを使用した場合。
  • MicroTx Freeの最新リリースにアップグレードする場合。
  • KubernetesクラスタでMicroTxをアップグレードする場合。「Kubernetesクラスタの最新Enterprise Editionへのアップグレード」を参照してください。
Transaction Manager for Microservices24.2 Enterprise Editionにアップグレードするには:
  1. MicroTxの最新リリースのファイルをダウンロードします。「インストール・バンドルのダウンロード」を参照してください。

    MicroTxの以前のバージョン用にダウンロードしたファイルは上書きしないでください。

    トランザクション・コーディネータの最新イメージは、installation_directory/otmm-24.2/otmm/image/tmm-24.2.tgzにあります。次の数ステップで、このファイルを使用して、既存のトランザクション・コーディネータ・イメージを更新します。

  2. MicroTxイメージをローカルDockerリポジトリにロードします。MicroTxイメージは、installation_directory/otmm-<version>/image/tmm-<version>.tgzにあります。
    cd installation_directory/otmm-<version>/otmm
    docker load < image/tmm-<version>.tgz
    イメージがロードされると、次のメッセージが表示されます。
    Loaded image: tmm:<version>
  3. tcs.yamlファイルでINIT_CONTAINER_ENABLEDTrueに設定して、初期化プロセスの作成を有効にします。tcs.yamlファイルはinstallation_directory/otmm-24.2/otmm/imageフォルダにあります。
  4. 次のコマンドを実行して、Dockerコンテナで初期化プロセスを開始し、MicroTxをアップグレードします。

    構文

    docker container run --name init-otmm-app \
    -v "$(pwd)":/app/config \
    -w /app \
    -p 9000:9000/tcp \
    --env CONFIG_FILE=/app/config/tcs.yaml \
    --network=host \
    -e STORAGE_DB_CREDENTIAL='{"password":"<dbUserpassword>", "username":"<DBuserName>"}' \
    -d tmm:24.2

    説明

    • --name init-otmm-appは、アップグレードするMicroTxアプリケーションの名前です。
    • -v "$(pwd)":/app/configは、現在のディレクトリを/app/configパスのコンテナにマウントします。
    • -w /appは、作業ディレクトリを/appとして指定します。このサンプル・コマンドでは、ボリュームも-vフラグに指定された値に基づいてこのディレクトリにマウントされるため、/appはデフォルトの作業ディレクトリのままです。
    • --env CONFIG_FILE=config/tcs.yamlは、コーディネータ構成の詳細を含むtcs.yamlファイルの場所を指定します。
    • -e STORAGE_DB_CREDENTIALは、Oracle Databaseにアクセスするためのユーザー名とパスワードを提供します。
    • tmm:<version>は、ローカルDockerリポジトリにロードしたMicroTx Dockerイメージです。
  5. Docker環境のdockerコンテナのリストから、初期化プロセスが実行された独立したコンテナを削除します。初期化プロセスは、アップグレードが終了すると自動的に終了します。次のコマンドを実行して、独立したコンテナを削除します。
    docker container rm <container_ID_of_init_otmm_app>
  6. tcs.yamlファイルでINIT_CONTAINER_ENABLEDFalseに設定します。
  7. 次のコマンドを実行して、DockerコンテナでMicroTxの実行を開始します。

    構文

    次のサンプル・コマンドは、otmm-appという名前のMicroTxアプリケーションを実行します。

    docker container run --name otmm-app \
    -v "$(pwd)":/app/config \
    -w /app \
    -p 9000:9000/tcp \
    --env CONFIG_FILE=/app/config/tcs.yaml \
    --network=host \
    -e STORAGE_DB_CREDENTIAL='{"password":"<dbUserpassword>", "username":"<DBuserName>"}' \
    -d tmm:24.2

    説明

    • --name otmm-appは、作成するMicroTxアプリケーションの名前です。
    • -v "$(pwd)":/app/configは、現在のディレクトリを/app/configパスのコンテナにマウントします。
    • -w /appは、作業ディレクトリを/appとして指定します。このサンプル・コマンドでは、ボリュームも-vフラグに指定された値に基づいてこのディレクトリにマウントされるため、/appはデフォルトの作業ディレクトリのままです。
    • --env CONFIG_FILE=config/tcs.yamlは、コーディネータ構成の詳細を含むtcs.yamlファイルの場所を指定します。
    • tmm:<version>は、ローカルDockerリポジトリにロードしたMicroTx Dockerイメージです。