9.3 Dockerfileを作成する
「図9-1 作成,変更するDockerイメージ」に示した,本製品がサポートしているOSのベースイメージまたはOSと他社製のJREがインストールされたイメージをベースイメージとして,「(A) 本製品をインストールするDockerイメージ」のDockerfileを作成します。
「(A) 本製品をインストールするDockerイメージ」用のDockerfileの例を次に示します。下線部分については,使用する環境やベースイメージに合わせて変更してください。
JDK17ベースの日立JavaVMを使用している場合は,Dockerfileの例内の表記を次のとおりに読み替えてください。
|
読み替え対象 |
読み替える内容 |
|---|---|
|
/opt/Cosminexus/jdk |
/opt/Cosminexus/jdk17 |
# Base image [1.]
FROM openjdk:11-bullseye
# Install prerequired packages [2.]
<前提パッケージのインストール>
# Install uCARS [3.]
ADD <インストーラアーカイブのパス> /tmp
RUN chmod +x /tmp/X64LIN/setup
RUN /tmp/X64LIN/setup -f -k <形名> /tmp
RUN rm -rf /tmp/X64LIN
# Edit configuration file of uCARS [4.]
RUN echo monitor.rest.bindaddress=0.0.0.0 >> /opt/hitachi/ucars/conf/config.properties
RUN echo snapshot.log.filepath=/ucars-snapshots/\${HOSTNAME}/snapshot >> /opt/hitachi/ucars/conf/config.properties
# Expose HTTP port of uCARS Process Monitor [5.]
EXPOSE 28081
# Add the path of Hitachi JavaVM to the head of PATH [6.]
ENV PATH=/opt/Cosminexus/jdk/bin:$PATH
# Start Executable JAR/WAR with uCARS Process Monitor [7.]
ENTRYPOINT [ "/opt/hitachi/ucars/bin/starter.sh" ]- [説明]
-
-
ベースとなるDockerイメージを指定します。
他社製のJREを使用する場合は,他社製のJREがインストールされていて,環境変数PATHにJavaVM起動コマンドのディレクトリが含まれている必要があります。
-
前提パッケージをインストールします。本製品に必要な前提パッケージについては,製品のリリースノートを参照してください。
-
本製品のインストーラをコンテナ上に展開してインストールを実行します。
-
config.properties(本製品の設定ファイル)に次の2つの設定を追記します。
monitor.rest.bindaddress=0.0.0.0
プロセスモニタで使用するHTTP機能の受付ポートを,localhostだけでなくコンテナ外からもアクセスを可能にします。
snapshot.log.filepath=/ucars-snapshots/${HOSTNAME}/snapshot
異常検知時のスナップショットログ出力先を,Dockerホスト上の記憶域にマウントするパスに変更します。親ディレクトリ名に「${HOSTNAME}」を採用してコンテナごとに異なるディレクトリに出力されるようにすることで,同時刻に複数のコンテナから同じファイル名で出力することを防止できます。
-
本製品のプロセスモニタで使用するHTTP機能の受付ポートである28081番ポートへ,コンテナ外からのアクセスを可能にします。
-
日立JavaVMを使用する場合にだけ,環境変数PATHの先頭に,日立JavaVMのコマンド群がインストールされているディレクトリを追加します。
-
エントリーポイントとして本製品のプロセスモニタ起動スクリプトをexec形式で指定します。
-