oo

コンテナのライフサイクルとAPI

高レベルでは、コンテナはLiferayがデプロイされた状態でTomcatを開始します。 ただし、さらに、コンテナエントリーポイントは、以下のユースケースを実行するためのAPIを提供します。

  • スクリプトの呼び出し
  • TomcatおよびLiferayの設定
  • アーティファクトのデプロイ
  • パッチのインストール
  • パッチツールの更新

コンテナは、これらのユースケースをトリガーおよび構成するためのAPIを提供します。 ライフサイクルのさまざまなフェーズでユースケースを実行します。

ライフサイクル

環境でコンテナを作成した後、コンテナエントリーポイントはその環境で次のライフサイクルフェーズを実行します。

  1. 事前設定: TomcatおよびLiferayを設定する前に、ユーザー提供のスクリプトを実行します
  2. 設定: TomcatでDXPを実行する準備をします。
    1. TomcatのJavaランタイム環境の設定
    2. ユーザが提供したファイルLiferay Home にコピー。
    3. ユーザー提供のスクリプトの実行
    4. ユーザー提供のアーティファクトのデプロイ
    5. パッチツール をユーザー指定のバージョンで更新。
    6. ユーザー提供のパッチをインストール
  3. 起動前: Tomcatを起動する前に、ユーザー提供のスクリプトを実行します
  4. Tomcat起動: Catalinaスクリプトを使用してTomcatを起動します。
  5. シャットダウン後: Tomcatの停止後にユーザー提供のスクリプトを実行します

API

コンテナエントリポイントは、次のコンテナフォルダでファイルをスキャンし、それらのファイルを使用して、コンテナ、Tomcat、Liferayを設定し、Liferayで動作します。

  • /mnt/liferay
  • /user/local/liferay/scripts
note

バインドマウントvolumesdocker cpなど、さまざまな方法でこれらのコンテナフォルダにファイルを渡すことができます。 詳しくは コンテナへのファイルの提供 をご覧ください。

上記の主要なフォルダには、特定のアクション用に指定されたサブフォルダがあります。 次のセクションでは、サブフォルダ、それらのファイルで実行されるアクション、および関連するユースケースをライフサイクルの段階順に記述します。

次のライフサイクルの段階は、ユーザーが提供したファイルに作用します。

事前設定段階のAPI

ファイルのロケーション 操作 ユースケース
/usr/local/liferay/scripts/pre-configure スクリプトをアルファベット順に実行する 設定段階前のスクリプトの実行

設定段階のAPI

ファイルのロケーション 操作 ユースケース
/mnt/liferay/files Liferay Home (/opt/liferay ) の下にあるフォルダにファイルをコピーする コンテナの設定

Tomcatの設定
/mnt/liferay/scripts スクリプトをアルファベット順に実行する 構成中にスクリプトを実行
/mnt/liferay/deploy Liferay起動時にアーティファクトを自動展開するために、 /mnt/liferay/deploy/opt/ liferay/deploy にシンボリックリンクします。

実行時、/mnt/liferay/deploy/opt/liferay/deploy、またはいずれかのフォルダに取り付けられたフォルダにコピーされたアーティファクトを自動デプロイします。

注:自動デプロイされたアーティファクトは、 /opt/liferay/osgi下の適切なフォルダに移動されます。
アプリやその他のアーティファクトをコンテナにインストールする
/mnt/liferay/patching パッチツールが提供されている場合は、それをインストールします。 提供されているパッチをインストールします。 DockerでDXPにパッチを適用する

起動前段階のAPI

ファイルのロケーション 操作 ユースケース
/usr/local/liferay/scripts/pre-startup スクリプトをアルファベット順に実行する Tomcatを開始する前にスクリプトを実行

シャットダウン後段階のAPI

ファイルのロケーション 操作 ユースケース
/usr/local/liferay/scripts/post-shutdown スクリプトをアルファベット順に実行する Tomcatをシャットダウンした後のスクリプトの実行

次のステップ

コンテナのライフサイクルとAPIについて学習できました。これで、コンテナにファイルを提供する最良の方法を決定できます。 また、上記の表に記載されているユースケースの実行を開始することもできます。 ここに記載されているユースケースは参考用です。

Deployment Approach: