21.8.1 コンテナイメージの作成手順
JP1/AJS3 - Agentをコンテナイメージに取り込む方法を次に示します。
-
JP1/Baseのコンテナイメージを作成する。
JP1/Baseのコンテナイメージの作成方法については,マニュアル「JP1/Base 運用ガイド」を参照してください。このとき,コンテナは起動しないでください。コンテナが起動している場合は,停止してください。
-
JP1/AJS3 - Agentの媒体の内容をDockerfile格納ディレクトリにコピーする。
コピーしたファイルやディレクトリはバイナリーレベルで一致することを確認してください。
# mount /dev/cdrom ホスト上のマウントディレクトリ # cp -a ホスト上のマウントディレクトリ Dockerfile格納ディレクトリ
手順3のDockerfileのサンプルでは,「Dockerfile格納ディレクトリ/media/JP1AJS」内にJP1/AJS3 - Agentの媒体の内容をコピーしています。Dockerfile格納ディレクトリは任意のディレクトリです。ただし,Dockerfile格納ディレクトリはJP1/Baseで指定したDockerfile格納ディレクトリと分けてください。また,JP1/Baseで指定したDockerfile格納ディレクトリ配下にならないようにしてください。
-
Dockerイメージを作成するためのDockerfileを作成する。
Dockerfileのサンプルを次に示します。Dockerfileの書式については,Docker社のDockerfile referenceまたはman dockerfileの記載を参照してください。
FROM イメージ名[:タグ名]※1 MAINTAINER 作成者 <メールアドレス>※2 RUN yum -y install libuuid.i686※3 RUN mkdir /var/tmp/JP1/JP1AJS※4 COPY media/JP1AJS /var/tmp/JP1/JP1AJS※5 WORKDIR /var/tmp/JP1/JP1AJS※6 RUN export LANG=ja_JP.utf8 && ./LINUX/setup -f -k P-8112-33CL ./※7 RUN rm -rf /var/tmp/JP1/JP1AJS※8
- 注※1
-
手順1で作成したコンテナのイメージをベースイメージとして指定します。最新のイメージの場合は,「:タグ名」に「:latest」を指定します。
- 注※2
-
イメージの管理者として作成者の氏名および連絡用のメールアドレスを指定します。このパラメーターは省略できます。
- 注※3
-
JP1/AJS3 - Agentの前提パッケージを事前にインストールすることを指定します。
- 注※4
-
コンテナ内にワークディレクトリを作成します。
- 注※5
-
あらかじめDockerfile格納ディレクトリにコピーしておいた製品媒体の内容を,コンテナ上のワークディレクトリ/var/tmp/JP1/JP1AJSにコピーすることを指定します。
- 注※6
-
カレントディレクトリをコンテナ上の/var/tmp/JP1/JP1AJSに位置付けることを指定します。
- 注※7
-
言語に合わせた環境変数LANGを設定したあと,日立PPインストーラのサイレントインストール機能を使用してコンテナ上にインストールすることを指定します。JP1/Baseと同じ環境変数LANGを設定してください。上記の例ではUTF-8を設定しています。使用できる言語についてはマニュアル「JP1/Automatic Job Management System 3 設計ガイド(システム構築編) 2.4.2 システムで使用する言語種別と文字コードについて検討する」を参照してください。
- 注※8
-
コンテナ上のワークディレクトリを削除することを指定します。
-
docker buildコマンドで,手順3で作成したDockerfileを指定し,コンテナイメージを作成する。
コンテナのホストマシンで次のコマンドを実行してください。podmanを使用する場合は,コマンドラインのdockerをpodmanに読み替えてください。
# docker build -t イメージ名:タグ名 Dockerfile格納ディレクトリ
なお,この手順の例でこのコマンドを実行するときは,カレントディレクトリをDockerfile格納ディレクトリにする必要があります。