Cloud Software Group, Inc. EBX®
ドキュメント > 管理ガイド > EBX® Container Edition
ナビゲーションモードドキュメント > 管理ガイド > EBX® Container Edition

イメージのカスタマイズ

EBX® Container Edition イメージを親イメージとして使用して、カスタマイズされたイメージを作成できます。

Docker ファイルで指定されたユーザー

EBX® Container Edition イメージの Docker ファイルは、ユーザー ebx を指定します。

イメージを拡張する Docker ファイルでは、次のサンプルのように、現在のユーザーを root に設定し、後で ebx に戻す必要がある場合があります。

FROM ebx:6.1.3
USER root
# Do something requiring being root...
USER ebx

デフォルト構成の設定

デフォルトの EBX® 構成の設定は、/opt/ebx/conf/ebx-container.properties に基づくべきではありません。このファイルは、実行時にオーバーライドされる可能性があるためです。

代わりに、Docker ファイルで次の手順を実行します。

EBX® でサポートされているプロパティのリストについては、TIBCO EBX® メイン構成ファイル の章を参照してください。

以下は、ロケールを「en-US」に設定したサンプルの Docker ファイルを示しています。

FROM ebx:6.1.3
USER root

RUN mv /opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties \
       /opt/ebx/webapps/ebx/WEB-INF/ebx-default-original.properties

RUN echo "ebx.file.previous=ebx-default-original.properties" >> \
         /opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties
RUN echo "ebx.locales.available=en-US" >> /opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties

USER ebx

カスタムモジュールの追加

カスタムモジュールを開発することで、EBX® を拡張できます。EBX® モジュールは、標準の Java EE Web アプリケーションであり、XML スキーマドキュメント、Java クラス、静的リソースなどのさまざまなリソースをパッケージ化します。

EBX® モジュールの詳細については、TIBCO EBX® モジュールのパッケージ化 の章を参照してください。

EBX® Container Edition では、モジュールを「アンパック (展開)」 WAR として展開することをお勧めします。これにより、起動が速くなり、Tomcat が WAR ファイルを解凍する必要がないため、コンテナサイズが不必要に大きくなるのを防ぐことができます。

モジュールをイメージに追加するための推奨される方法は、次のとおりです。

Tomcat コンテキスト XML ファイルには次の内容が含まれている必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="${ebx.container.base}/webapps/module_war_name"/>

環境変数 EBX_ROOT_PATH を正しくサポートするには、変数 ${ebx.container.base} を使用する必要があります。

Tomcat コンテキストの詳細については、https://tomcat.apache.org/tomcat-9.0-doc/config/context.html#Defining_a_context を参照してください。

以下にサンプルの Docker ファイルを示します。

FROM ebx:6.1.3
USER root
COPY "./module_name.xml" "/opt/ebx/contexts"
COPY "./module_name" "/opt/ebx/webapps"
USER ebx

新しいロケールの追加

新しいロケールを追加するには、言語パックを含む jar ファイルが必要であり、ロケールを ebx 構成に追加する必要があります。

以下は、サンプルの Docker ファイルを示しています。

FROM ebx:6.1.3
USER root

COPY "<path_to_lib>" "/opt/ebx/lib"

RUN mv "/opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties" \
       "/opt/ebx/webapps/ebx/WEB-INF/ebx-default-original.properties"

RUN echo "ebx.file.previous=ebx-default-original.properties" >> \
         "/opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties"
RUN echo "ebx.locales.available=es" >> "/opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties"

USER ebx

この例では、デフォルト構成の設定セクションで説明されている方法を使用して、lib がコピーされ、ロケールが「es」に設定されます。

新しい JDBC ドライバーの追加

新しい JDBC ドライバーの追加は、新しいライブラリの追加に似ています。正しい権限で「/opt/ebx/lib」フォルダーにある jar ファイルをコピーするだけです。以下は、Oracle JDBCドライバーの例を示しています。

FROM ebx:6.1.3
USER root

ADD \
 https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc11/21.8.0.0/ojdbc11-21.8.0.0.jar \
 "/opt/ebx/lib/"

RUN chmod +r "/opt/ebx/lib/ojdbc11-21.8.0.0.jar"

USER ebx

詳細については、データベースドライバーを参照してください。

ドキュメント > 管理ガイド > EBX® Container Edition