本製品のコンテナイメージをベースとして、必要な資材の格納処理とLauncherを起動する処理をDockerfileに記述することで、Launcherのアプリケーションを運用できます。
本製品のコンテナイメージの直接利用と同様に、製品メディアからのインストールが不要です。本製品のコンテナイメージとアプリケーションのバージョンの組み合わせを固定化し、実績あるコンテナイメージとアプリケーションの組み合わせを運用する場合や、トラブルシューティングに備えて必要なツールやパッケージを事前にインストールする場合に有効な方法です。
以下にdockerコマンドを利用してコンテナイメージを作成する例を説明します。
以降の操作はすべてrootユーザーで行うものとします。
アプリケーション実行ファイルの配備
Launcher上で起動させるアプリケーション実行ファイルを作業ディレクトリー(/docker/work/)に配備します。
今回はアプリケーション実行ファイルを"application.war"とします。
Dockerfileの作成
作業ディレクトリー(/docker/work/)にDockerfileを作成します。
例
Dockerfileの記述例
FROM quay.io/fujitsueap/fujitsu-software-enterprise-application-platform-launcher:ubi8-1.2.0-1.0 # 日本語の言語パックなどのパッケージを追加インストールしたり、タイムゾーンを変更する場合、 # ユーザーをrootに変更してから必要な操作を実行し、 # 実行後にユーザーをeapuserに戻します。 USER 0 ARG lang_env="ja_JP.UTF-8" ARG timezone="Asia/Tokyo" RUN /bin/yum install -y glibc-langpack-ja && /bin/yum clean all -y && \ /bin/ln -snf /usr/share/zoneinfo/${timezone} /etc/localtime ENV LANG="${lang_env}" LANGUAGE="${lang_env}" LC_ALL="${lang_env}" USER 1000 # Launcher起動 COPY --chown=1000:1000 application.war /home/eapuser CMD ["/opt/FJSVeapf/openjdk/jdk17/bin/java", "-jar", "/opt/FJSVeapf/launcher/lib/launcher.jar", "--deploy", "/home/eapuser/application.war"]
注意
上記のDockerfileの記述例は、日本語の言語パックをインストールし、時刻をJSTにする場合の例です。
パブリッククラウド上ではyumコマンドで日本語の言語パックをインストールできない場合があるため、適切なライセンスを取得してパッケージを入手し、rpmコマンドでインストールしてください。
コンテナイメージのビルド
上記のDockerfileを使用して、コンテナイメージを作成します。
ここでは、カレントディレクトリーを作業ディレクトリー(/docker/work/)に移動し、作業ディレクトリーのDockerfileや資材を使用してビルドを実行後、イメージ名を"demo"として登録します。
# cd /docker/work # docker build . -t <リポジトリー名>/demo # docker push <リポジトリー名>/demo