Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 構築ガイド


21.8.1 コンテナイメージの作成手順

JP1/AJS3 - Agentをコンテナイメージに取り込む方法を次に示します。

  1. JP1/Baseのコンテナイメージを作成する。

    JP1/Baseのコンテナイメージの作成方法については,マニュアル「JP1/Base 運用ガイド」を参照してください。このとき,コンテナは起動しないでください。コンテナが起動している場合は,停止してください。

  2. 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格納ディレクトリ配下にならないようにしてください。

  3. 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

    コンテナ上のワークディレクトリを削除することを指定します。

  4. docker buildコマンドで,手順3で作成したDockerfileを指定し,コンテナイメージを作成する。

    コンテナのホストマシンで次のコマンドを実行してください。podmanを使用する場合は,コマンドラインのdockerpodmanに読み替えてください。

    # docker build -t イメージ名:タグ名 Dockerfile格納ディレクトリ

    なお,この手順の例でこのコマンドを実行するときは,カレントディレクトリをDockerfile格納ディレクトリにする必要があります。