Documentation

Dockerによるアップグレード

自動アップグレードを有効にしてLiferayのDockerイメージを実行すると、Liferayの起動時にデータベースがアップグレードされます。 アップグレードが完了した後、そのDockerコンテナを介してLiferayの使用を継続するか、またはアップグレードされたデータベースに新しいLiferayオンプレミスインストールを指定できます。

重要

Dockerをお持ちではありませんか? まずは以下をご確認ください:

DXP版

イメージ

タグ

Liferay DXP(サブスクリプション)

dxp

こちら

Liferay Portal

portal

こちら

重要

エンタープライズサブスクライバーのインストールおよびクリティカルインストールへのアップグレードは、データベースアップグレードツールを使用して行う必要があります。 詳細は、 データベースアップグレードツールの使用 を参照してください。

重要

アップグレードする前に、必ずデータベースと既存のインストールをバックアップしてください。 バックアップコピーでアップグレードプロセスをテストすることをお勧めします。

最新のDockerイメージによるアップグレード

Dockerイメージを使用してアップグレードする手順は次のとおりです。

  1. 新しいLiferay Dockerイメージで使用する任意のフォルダを作成し、filesdeployというサブフォルダを作成します。 例:

    • files: Dockerコンテナはこのフォルダからコンテナの Liferay Home フォルダにファイルをコピーします。

    mkdir -p new-version/deploy
    
    • files: Dockerコンテナはこのフォルダからコンテナの Liferay Home フォルダにファイルをコピーします。

  2. Liferay Homeのファイルアプリケーションサーバーファイル をバックアップからfilesフォルダ内の対応する場所(新しい[Liferay Home])にコピーしてマージします。 例えば、アクティベーションキーをnew-version/files/license/にコピーします。 ファイルには次のものが含まれる場合がありますが、これらに限定されません。

  3. コマース を使用している場合は、コマースをアップグレードする準備をしてください。 詳細については、 Liferay Commerceのアップグレード を参照してください。

  4. Liferayデータベースのアップグレードと一緒にマーケットプレイスアプリのデータをアップグレードする場合は、新しいLiferayバージョンの対象となる各アプリの最新バージョンをダウンロードして、new-version/deployフォルダにコピーします。 それ以外の場合は、 アップグレード後の考慮事項 で説明されているようにデータベースのアップグレード後にアプリをインストールし、データをアップグレードできます。

  5. 組み込みのElasticsearchエンジンまたはローカルのファイルストア\(ドキュメントライブラリ\)を使用している場合は、[Liferay Home]/dataフォルダを新しいfilesフォルダにコピーしてnew-version/files/dataを作成します。

  6. Liferay Homeのファイルアプリケーションサーバーファイル をバックアップからfilesフォルダ内の対応する場所(新しい[Liferay Home])にコピーしてマージします。 例えば、アクティベーションキーをnew-version/files/license/にコピーします。 ファイルには次のものが含まれる場合がありますが、これらに限定されません。

    • /license/*:アクティベーションキー。 (サブスクリプション)

    • /log/*:ログファイル。

  7. 高度なファイルシステムストアまたは簡易ファイルシステムストアを使用していて、保存場所を変更している場合は、ファイルストアの設定を .configファイル にエクスポートして、new-version/osgi/configsフォルダにコピーします。

    重要

    高度なファイルシステムストアを使用している場合は、データベースをアップグレードする前に、新しいインストールで.configファイルを使って設定する必要があります。

    以下に例を示します。com.liferay.portal.store.file.system.configuration.AdvancedFileSystemStoreConfiguration.config file with the required rootDir parameter:

    rootDir="data/document_library"

  8. データベースベンダーが推奨するJDBCデータベースドライバーを使用していることを確認してください。 たとえば、MySQLを使用している場合は、new-version/files/portal-ext.propertiesjdbc.default.driverClassName=com.mysql.cj.jdbc.Driver を設定し、アプリケーションサーバーが使用するMySQL JDBCドライバーのJARを置き換えます。 詳細は、 データベースドライバー を参照してください。

  9. 新しいバージョンのフォルダにマウントされたDockerイメージを、以下のコマンドで実行します。 必要に応じて、イメージ名、タグ、環境値を差し替えてください。

    docker run -it -m 8g -p 8080:8080 \
     -v $(pwd)/new-version:/mnt/liferay \
     -e LIFERAY **UPGRADE** PERIOD **DATABASE** PERIOD **AUTO** PERIOD_RUN=true \
     liferay/[place image name here]:[place tag here]
    

    -v new-version:/mnt/liferayの引数は、ホストのnew-versionフォルダをコンテナの/mnt/liferayフォルダにバインドマウントします。 コンテナのLiferay Homeへのファイルのマッピングについては、 コンテナへのファイルの提供 を参照してください。

    パラメータ-e LIFERAY_UPGRADE_PERIOD_DATABASE_PERIOD_AUTO_PERIOD_RUN=trueは、データベースのアップグレードをトリガーします。

  10. コンソールまたはログで、データベースのアップグレードとサーバーの起動が成功したことを確認します。 アップグレードメッセージに、各アップグレードプロセスの開始と完了が表示されます。 次のようなメッセージは、サーバーの起動が完了したことを示しています。

    org.apache.catalina.startup.Catalina.start Server startup in [x] milliseconds
    

    アップグレードの失敗やエラーが発生した場合は、コンソールやログに出力されます。 Gogo Shellコマンドを使用して、それらの問題をトラブルシューティングし、アップグレードを完了できます。

  11. 障害やエラーを解決した後、アップグレード後の検討事項を調べます。

  12. 新しいインストール先で ポータルのプロパティを更新 します。

  13. アップグレードしたデータベースを検証します。

    これがLiferayのランディング画面です。

データベースのアップグレードが完了しました。

新しいLiferayバージョンをDocker経由で使い続けたい場合は、 -e LIFERAY_UPGRADE_PERIOD_DATABASE_PERIOD_AUTO_PERIOD_RUN=true環境設定を、新しいコンテナの作成に使用するdocker run ...コマンドから外してください。

注釈

Liferay Dockerイメージの使用 では、Dockerコンテナの作成、停止、再起動について説明しています。

まとめ

アップグレードされたデータベースで十分な場合は、新しいLiferayインスタンスを使用してください。 アップグレードの完了の他に作業が必要な場合は、以下の記事を参考にしてください。

  • アップグレードの基本 では、アップグレードに関するすべてのトピックについて説明しています。 まだ対処しなければならないトピックが見つかるかもしれません。