ページの先頭行へ戻る
Enterprise Application Platform V1.2.0 Launcherユーザーズガイド

3.4.2 本製品のコンテナイメージのカスタマイズ

本製品のコンテナイメージをベースとして、必要な資材の格納処理とLauncherを起動する処理をDockerfileに記述することで、Launcherのアプリケーションを運用できます。

本製品のコンテナイメージの直接利用と同様に、製品メディアからのインストールが不要です。本製品のコンテナイメージとアプリケーションのバージョンの組み合わせを固定化し、実績あるコンテナイメージとアプリケーションの組み合わせを運用する場合や、トラブルシューティングに備えて必要なツールやパッケージを事前にインストールする場合に有効な方法です。

以下にdockerコマンドを利用してコンテナイメージを作成する例を説明します。

以降の操作はすべてrootユーザーで行うものとします。

  1. アプリケーション実行ファイルの配備

    Launcher上で起動させるアプリケーション実行ファイルを作業ディレクトリー(/docker/work/)に配備します。

    今回はアプリケーション実行ファイルを"application.war"とします。


  2. 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コマンドでインストールしてください。


  3. コンテナイメージのビルド

    上記のDockerfileを使用して、コンテナイメージを作成します。

    ここでは、カレントディレクトリーを作業ディレクトリー(/docker/work/)に移動し、作業ディレクトリーのDockerfileや資材を使用してビルドを実行後、イメージ名を"demo"として登録します。

    # cd /docker/work
    # docker build . -t <リポジトリー名>/demo
    # docker push <リポジトリー名>/demo