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

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

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

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

Transaction Manager for Microservices24.2 Enterprise Editionにアップグレードするには:
  1. MicroTxの最新リリースのファイルをダウンロードします。「インストール・バンドルのダウンロード」を参照してください。

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

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

  2. トランザクション・コーディネータ・イメージをローカル・リポジトリにロードし、イメージにタグ付けしてからイメージをプッシュします。「Dockerレジストリへのイメージのプッシュ」を参照してください。
  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. tmm-stack-compose.yamlファイルを更新して、最新のMicroTxコーディネータ・イメージの名前を指定します。
  7. 次のいずれかのタスクを実行して、Docker Swarm環境に応じてアップグレード・プロセスを完了します。
    • Dockerスタックがデプロイされていない場合、または新しいスタックを作成する場合は、次のコマンドを実行して新しいDockerスタックをデプロイします。

      コマンド構文

      docker stack deploy -c tmm-stack-compose.yaml <name_of_stack>
    • Dockerスタックがすでにデプロイされ、実行されている場合は、次のコマンドを実行してスタックを更新します。

      コマンド構文

      docker service update --image {latest image of MicroTx coordinator} {name of the MicroTx
          service}

      サンプル・コマンド

      docker service update --image 198.51.100.1:5000/tmm:1679 tmmdemo_otmm-tcs