Hitachi

JP1 Version 12 JP1/Base 運用ガイド


付録O.1 Dockerイメージの作成について

JP1/BaseをDockerイメージに取り込む手順を次に示します。

  1. 製品媒体の内容をあらかじめDockerfile格納ディレクトリにコピーする。

    なお,コピーしたファイル群はコンペア等(バイナリレベル)で一致することを確認してください。

    # mount /dev/cdrom ホスト上のマウントディレクトリ
    # cp -a ホスト上のマウントディレクトリ Dockerfile格納ディレクトリ

    以降のDockerfileの例では,「Dockerfile格納ディレクトリ/media」内に製品媒体をコピーしています。

  2. ローカルyumレポジトリサーバを設定しているシステムの場合は,Dockerfile格納ディレクトリ内にレポジトリファイルを作成する。

  3. Dockerイメージを作成するためのDockerfileを作成する。

    サンプルを以下に示します。なお,Dockerfileの書式の詳細についてはDocker社のDockerfile referenceまたはman dockerfileを参照してください。

    FROM rhel7.1:latest ※1
    MAINTAINER 作成者 メールアドレス ※2
    COPY local.repo /etc/yum.repos.d/ ※3
    RUN yum -y install glibc.i686 libstdc++.i686 ncompress ncursespsmisc glibc-devel glibc-devel.i686 ※4
    RUN yum -y install tar iputils net-tools procps-ng hostname ※5
    RUN localedef -i ja_JP -f UTF-8 ja_JP.utf8 ※6
    RUN mkdir /var/tmp/JP1 ※7
    COPY media /var/tmp/JP1 ※8
    WORKDIR /var/tmp/JP1 ※9
    RUN export LANG=ja_JP.utf8 && ./LINUX/setup -f -k 形名 ./ ※10
    ...
    RUN rm -rf /var/tmp/JP1 ※11
    注※1

    ベースとなるDockerのイメージを指定します。":latest"は最新のイメージを指定しています。

    注※2

    イメージの管理者として作成者の氏名や連絡用のメールアドレスを指定します。省略可能です。

    注※3

    事前に作成しておいたレポジトリファイルをコンテナ内にコピーすることを指定します。

    注※4

    本製品の前提パッケージを事前にインストールすることを指定します。

    注※5

    Linux 7のDockerイメージをベースイメージとする場合に,デフォルトでインストールされていないコマンド(tar, ps, hostname, netstat, ping)をインストールします。

    注※6

    ロケールを追加します。(上記例ではUTF-8を追加)

    注※7

    コンテナ内にワークディレクトリを作成します。

    注※8

    あらかじめDockerfile格納ディレクトリにコピーしておいた製品媒体の内容を,コンテナ上の/var/tmp/JP1にコピーすることを指定します。

    注※9

    カレントディレクトリをコンテナ上の/var/tmp/JP1に位置づけすることを指定します。

    注※10

    言語に合わせたLANG環境変数を設定後,Hitachi PP Installerのサイレントインストール機能を使用してコンテナ上にインストールすることを指定します。(上記例ではUTF-8を設定)

    LANG環境変数を指定しない場合はCを仮定してインストール時のセットアップが行われます。

    注※11

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

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

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

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