TIBCO EBX® Container Edition は、Docker Engine バージョン 20.10 でテストされています。
現在の EBX® Container Edition リリースは、認定された Kubernetes 実装バージョン 1.26 および Red Hat® OpenShift® 4.13.1 でテストされました。
EBX® Container Edition の Helm チャートサンプルが、GitHub から提供されています。詳細については、https://github.com/TIBCOSoftware/ebx-container-edition を参照してください。
埋め込み H2 データベースを含むデフォルト構成で EBX® を起動するには、次のコマンドを実行します。
docker run -p 8080:8080 -d ebx:6.1.3
ブラウザーを使用して、URL http://localhost:8080 で EBX® に接続できます。これにより、EBX® の構成に役立つ初回起動アシスタントが表示されます。
初回起動アシスタントの詳細については、初期化と初回起動アシスタントの章を参照してください。
最初の起動時に自動初期化と埋め込み H2 データベースを使用して EBX® を起動するには、次のコマンドを実行します。
docker run -d -p 8080:8080 \ -e "EBX_FLA_DISABLED=true" \ -e "EBX_INSTALL_ADMIN_PASSWORD=<password>" \ ebx:6.1.3
EBX® リポジトリは、最初の起動時に自動的に作成されます。
ブラウザーを使用して、URL http://localhost:8080 で EBX® に接続できます。これにより、EBX® ログイン画面が表示されます。管理者のユーザー名は admin で、パスワードは前のコマンドで指定したものです。
注意
管理者に別のユーザー名を指定することができます。詳細については、初回起動時のリポジトリの自動インストール を参照してください。
サポートされているブラウザーの詳細については、サポートされる Web ブラウザー を参照してください。
次のコマンドは、デフォルトユーザーを使用して EBX® コンテナ内で bash シェルを開始します。
docker exec -it <container-id> bash
root として接続するには、次のコマンドを使用します。
docker exec -it --user root <container-id> bash
この章では、EBX® Container Edition でサポートされている環境変数について説明します。
すべてオプションです。
セキュリティ上の理由から、すべての状況で初回起動アシスタントを無効にすることをお勧めします。
これは、環境変数 EBX_FLA_DISABLED を true にすることで設定されます。
リポジトリがまだ初期化されておらず、初回起動アシスタントが無効になっている場合、次の必須変数が指定されていれば、EBX® は自動的にインストールをトリガーします。
名前 | デフォルト | 説明 |
---|---|---|
EBX_INSTALL_ADMIN_LOGIN | admin | EBX® 管理者のログイン名を設定します。 リポジトリ変数 EBX_FLA_DISABLED の値が true でない場合、またはリポジトリがすでに初期化されている場合、このパラメーターは無視されます。 |
EBX_INSTALL_ADMIN_PASSWORD | EBX® 管理者のログイン名を設定します。 このパラメーターは、EBX_FLA_DISABLED の値が true の場合は必須であり、リポジトリ変数 EBX_FLA_DISABLED の値が true でない場合や、リポジトリがすでに初期化されている場合は無視されます。 |
注意
必須変数が指定されていない場合、EBX® はエラーメッセージを表示します。
例
リポジトリを自動的にインストールするには、次のコマンドを使用して EBX® を起動します。
docker run -d -p 8080:8080 \ -e "EBX_FLA_DISABLED=true" \ -e "EBX_INSTALL_ADMIN_LOGIN=<login-name>" \ -e "EBX_INSTALL_ADMIN_PASSWORD=<password>" \ ebx:6.1.3
一部の EBX® 機能では、URL を生成する必要があります。これを行うには、特定の構成が必要になる場合があります。たとえば、EBX® がリバースプロキシの背後または Kubernetes クラスターで実行されている場合です。
名前 | デフォルト | 説明 |
---|---|---|
EBX_IS_SECURED | 着信リクエストが HTTPS の場合、「true」が想定され、そうでない場合は「false」が想定されます。 | 「true」の場合、プロトコル「HTTPS」が想定されます。「false」の場合、プロトコル「HTTP」が想定されます。 これにより、EBX 認証 Cookie も secure に設定されます。 これは、最新のブラウザーを使用しているユーザーは HTTP を使用してログインできないことを意味します。 |
EBX_HOSTNAME | 着信 HTTP(S) リクエストによって指定されたホスト名 | EBX® サーバーのホスト名 |
EBX_PORT | 着信 HTTP(S) リクエストによって指定されたポート番号 | EBX® サーバーのポート番号 |
EBX_ROOT_PATH | デフォルトでは、コンテキストパスは空です。 | 設定すると、すべての EBX® URL にこの値がプレフィックスとして付けられます。値が / の場合を除き、値には先頭に / を付ける必要があり、末尾に / を付けることはできません。 たとえば、有効な値は /mdm/sales です。 この変数の設定は、同じホスト名で EBX の複数のインスタンスを実行する場合に役立ちます。 |
EBX_URL_DEFAULT | この環境変数は、バックグラウンドタスクが EBX への URL を計算する必要がある場合に使用されます。 パスコンポーネントを含まない完全な URL に設定する必要があります (EBX_ROOT_PATH はパスコンポーネントに適用されます)。 たとえば、有効な値は https://host_name です。 EBX_URL_DEFAULT が指定されておらず、EBX_HOSTNAME が指定されている場合、デフォルトは次の仮定で計算されます。 - EBX_IS_SECURED が指定されていない場合、「false」が想定されます。 - EBX_PORT が指定されていない場合、EBX_IS_SECURED が true の場合は 443 が想定され、そうでない場合は 80 が想定されます。 |
サポートされているデータベースについては、サポートされるデータベースの章を参照してください。
デフォルトでは、埋め込みの H2 データベースが使用されます。この H2 データベースのデータは、場所 /ebx/data/h2 に保持されます。
外部データベースは、次の変数を使用して構成できます。
名前 | 同等の TIBCO EBX® メイン構成ファイル | 説明 |
---|---|---|
EBX_DB_FACTORY | ebx.persistence.factory | データベースサーバーの種類を指定します。 |
EBX_DB_URL | ebx.persistence.url | JDBC URL。フォーマットは jdbc:postgresql://<database_host>:<database_port_number>/<database_name> です。 |
EBX_DB_USER | ebx.persistence.user | データベースのユーザー ID |
EBX_DB_PASSWORD | ebx.persistence.password | データベースユーザーのパスワード |
これらの変数の詳細については、EBX® リポジトリの構成の章の TIBCO EBX® メイン構成ファイルに相当するものを参照してください。
注意
コンテナには、H2、PostgreSQL、および Microsoft SQL Server 専用の JDBC ドライバーが含まれています。EBX® でサポートされている他のデータベースを使用するには、ドライバーを追加する必要があります。
ドライバーを追加する方法については、新しい JDBC ドライバーの追加を参照してください。
例
Postgres データベースに接続する EBX® を起動するには、次のコマンドを実行します。
docker run -d -p 8080:8080 \ -e "EBX_DB_FACTORY=postgresql" \ -e "EBX_DB_URL=jdbc:postgresql://<server_name>:5432/<database_name>" \ -e "EBX_DB_USER=<user_name>" \ -e "EBX_DB_PASSWORD=<user_name>" \ ebx:6.1.3
EBX メールサービスは、次の環境変数を使用して構成できます。
名前 | 同等の TIBCO EBX® メイン構成ファイル | デフォルト | 説明 |
---|---|---|---|
EBX_SMTP_HOST | ebx.mail.smtp.host | SMTP サーバーのホスト名 | |
EBX_SMTP_PORT | ebx.mail.smtp.port | SMTP サーバーのポート番号 | |
EBX_SMTP_CONNECTION_TIMEOUT | ebx.mail.smtp.connectionTimeout | 600000 | SMTP ソケット接続のタイムアウト値 (ミリ秒)。 |
EBX_SMTP_TIMEOUT | ebx.mail.smtp.timeout | 600000 | SMTP ソケット読み取りタイムアウト値 (ミリ秒)。 |
EBX_SMTP_WRITE_TIMEOUT | ebx.mail.smtp.writeTimeout | 600000 | SMTP ソケット書き込みタイムアウト値 (ミリ秒)。 |
EBX_SMTP_LOGIN | ebx.mail.smtp.login | SMTP サーバーのログイン ID | |
EBX_SMTP_PASSWORD | ebx.mail.smtp.password | SMTP サーバーのログインパスワード | |
EBX_SMTP_SSL_ENABLED | ebx.mail.smtp.ssl.activate | true | SSL を有効にします。値は「true」または「false」にすることができます。 |
EBX_WORKFLOW_MAIL_SENDER | ebx.manager.workflow.mail.sender | ワークフローの送信者のメール。設定されていない場合、ワークフローは通知を送信できません。 |
使用されるプロパティの詳細については、SMTP とメールの有効化と構成の章を参照してください。
環境変数 JAVA_MEMORY_PERCENT を使用して、EBX® を実行する JVM に割り当てられるコンテナメモリの割合を構成できます。0 から 100 の整数値にする必要があります。
設定されていない場合、起動時にデフォルト値が使用されます。
注意
この変数は高度な使用法のためのものです。設定が低すぎたり高すぎたりすると、ランタイムの問題が発生する可能性があります。
REST サービスの基本認証はデフォルトでは有効になっていません。
この機能を有効にするには、環境変数 EBX_REST_AUTHENTICATION_BASIC を true に設定します。
ステージング機能は、環境変数 EBX_STAGING_ACTIVATED の値が true の場合にアクティブ化され、false の場合に非アクティブ化されます。
デフォルトでは、ステージングはアクティブ化されています。
現在、EBX®の構成には 2 つの Java プロパティファイルが使用されています。
起動時に、EBX® は次の順序でプロパティファイルを読み取ります。
/opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties
/my_custom/conf/ebx-container.properties
/opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties ファイルは、コンテナのデフォルトの EBX® 構成プロパティを設定します。
EBX® を次のバージョンに簡単に更新できなくなる可能性があるため、実行時に決して変更しないでください。代わりに /opt/ebx/conf/ebx-container.properties を使用してください。
/opt/ebx/conf/ebx-container.properties ファイルはデフォルトで空です。ここで指定されたプロパティ値は、ebx-default.properties で設定された値をオーバーライドします。
このファイルは、実行時にプロパティを変更するのに役立ちます。実行時にプロパティを変更するには、新しいファイルを作成します。たとえば、/my_custom/conf/ebx-container.properties のように、新しいプロパティ値を含み、親フォルダーをホストからコンテナにマウントします。
docker run -v /my-custom/conf:/opt/ebx/conf -p 8080:8080 -d ebx:6.1.3
EBX® でサポートされているプロパティのリストについては、TIBCO EBX® メイン構成ファイル の章を参照してください。
このイメージは、次のボリュームを定義します。
位置 | 説明 |
---|---|
/ebx/data | EBX® ルートディレクトリはこのボリュームにあります。これには、EBX® インデックスと、H2 埋め込みデータベースが使用されている場合は永続化されたデータが含まれます。 SSD などの高性能ボリュームを使用することをお勧めします。 NFS マウントなどの共有ネットワークボリュームの使用は推奨されず、パフォーマンスと安定性の問題が発生する可能性があります。 |
/ebx/logs | このボリュームはログファイルに使用されます。 |
/ebx/temp | このボリュームは一時ファイルに使用されます。 |
注意
ボリューム /ebx/data は、外部データベースが使用されている場合でも永続ボリュームにマップする必要があります。そうでない場合、EBX は起動時にインデックスを再構築する必要があり、起動時間が大幅に増加する可能性があります。
コンテナはユーザー ebx (uid 1500) を使用して起動されます。ユーザー ebx のプライマリグループは root (guid 0) です。
注意
Red Hat® OpenShift® は、コンテナの起動時に 1500 以外の UID を使用する場合があります。詳細については、Red Hat® OpenShift® のドキュメントを参照してください。
EBX コンテナが多数のメモリマップファイルに必要なリソースを予約できるように、ホストを構成する必要がある場合があります。
Linux OS の場合
コマンド ulimit -n は、512000 以上の値を返す必要があります。
コマンド sysctl vm.max_map_count は、 262144 以上の値を返す必要があります。
ログは stdout および stderr 出力ストリームに送信され、次のコマンドを使用して表示できます。
docker logs <container-id>
EBX® と Tomcat の両方のログが表示されます。
ログファイルは、フォルダー /ebx/logs にもあります。
EBX® ログファイルはフォルダー /ebx/logs/ebx にあります。
Tomcat ログファイルはフォルダー /ebx/logs/tomcat にあります。