9.2 イメージの作成

Oracle HTTP Server (OHS)イメージを作成する前に、「WebLogic Image Toolの設定」に従ってください。

9.2.1 PWD変数のエクスポート

WebLogic Image Toolがすべての最新パッチでOHSを構築できるように、イメージの作成ではMy Oracle Supportからパッチがダウンロードされます。

イメージのビルド中に、My Oracle Support資格証明の入力を求められますが、パスワードは変数として渡されます。この変数は次のように設定します。
export MYPWD="MY_ORACLE_SUPPORT_PWD"

9.2.2 OHSインストール・バイナリおよびパッチのダウンロード

Oracle Software Delivery CloudおよびMy Oracle Supportから、次に示す必要なOracle HTTP Server (OHS)インストール・バイナリおよびJDKをダウンロードする必要があります。選択したディレクトリに保存します。

必要なインストール・バイナリおよびJDKは次のとおりです。
  • Oracle Web Tier 14.1.2.0.0
    • V1045136-01.zip

      ノート:

      imageToolで使用されるfmw_14.1.2.0.0_ohs_linux64.binを取得するには、ダウンロード後にファイルを解凍する必要があります。
  • Oracle JDK v17またはv21
    • jdk-17.X.X_linux-x64.tar.gzまたはjdk-21.X.X_linux-x64.tar.gz

      ノート:

      17.0.14以上、または21.0.6以上がサポートされています。

9.2.3 必要なビルド・ファイルの更新

イメージの作成には、次のファイルが使用されます。イメージを作成する前に、次のファイルを更新する必要があります。
  • additionalBuildCmds.txt
  • buildArgs
  1. <workdir>/imagetool-setup/docker-images/OracleHTTPServer/additionalBuildCmds.txtファイルを作成し、次を追加します。
    [package-manager-packages]
    binutils make glibc-devel procps
    [final-build-commands]
    ENV PATH=$PATH:/u01/oracle/ohssa/oracle_common/common/bin \
        NM_PORT=5556 \
        OHS_LISTEN_PORT=7777 \
        OHS_SSL_PORT=4443 \
        MW_HOME=/u01/oracle/ohssa \
        DOMAIN_NAME=ohsDomain \
        OHS_COMPONENT_NAME=ohs1 \
        PATH=$PATH:$ORACLE_HOME/oracle_common/common/bin:$ORACLE_HOME/user_projects/domains/ohsDomain/bin:/u01/oracle/ \
        WLST_HOME=/u01/oracle/ohssa/oracle_common/common/bin
    COPY --chown=oracle:root files/create-sa-ohs-domain.py files/configureWLSProxyPlugin.sh files/mod_wl_ohs.conf.sample files/provisionOHS.sh files/start-ohs.py files/stop-ohs.py files/helloWorld.html /u01/oracle/
    WORKDIR ${ORACLE_HOME}
    CMD ["/u01/oracle/provisionOHS.sh"]

    ノート:

    管理者は、次のことに注意する必要があります:
    • oracle:rootは、より厳しいポリシーを持つOpenShiftに使用されます。これらの権限を必要としないユーザーは、必要な権限に変更できます。
    • [package-manager-packages]にリストされているパッケージは、Oracle Linux 8イメージ用です。Oracle Linux 9イメージを構築する場合は、このリストにlibxcrypt-compatも追加する必要があります。
  2. 次のように<workdir>/imagetool-setup/docker-images/OracleHTTPServer/buildArgsファイルを作成し、次のように変更します。
    • <workdir>を作業ディレクトリ(/scratch/など)へ
    • %BUILDTAG%をイメージ用に作成するタグ(oracle/ohs:14.1.2.0.0など)へ
    • %JDK_VERSION%をJDKのバージョン(21.0.6など)へ
    • <user>My Oracle Supportユーザー名へ
    create
    --tag=%BUILDTAG%
    --additionalBuildCommands /<workdir>/imagetool-setup/docker-images/OracleHTTPServer/additionalBuildCmds.txt
    --additionalBuildFiles <workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/create-sa-ohs-domain.py,<workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/provisionOHS.sh,<workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/configureWLSProxyPlugin.sh,<workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/mod_wl_ohs.conf.sample,<workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/start-ohs.py,<workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/stop-ohs.py,<workdir>/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/helloWorld.html
    --type=OHS
    --pull
    --recommendedPatches
    --chown=oracle:root
    --user=<user>
    --passwordEnv=MYPWD
    --version=14.1.2.0.0
    --jdkVersion=<version>
    次に例を示します:
    create
    --tag=oracle/ohs:14.1.2.0.0
    --additionalBuildCommands /scratch/imagetool-setup/docker-images/OracleHTTPServer/additionalBuildCmds.txt
    --additionalBuildFiles /scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/create-sa-ohs-domain.py,/scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/provisionOHS.sh,/scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/configureWLSProxyPlugin.sh,/scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/mod_wl_ohs.conf.sample,/scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/start-ohs.py,/scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/stop-ohs.py,/scratch/imagetool-setup/docker-images/OracleHTTPServer/dockerfiles/14.1.2.0.0/container-scripts/helloWorld.html
    --type=OHS
    --pull
    --recommendedPatches
    --chown=oracle:root
    --user=user@example.com
    --passwordEnv=MYPWD
    --version=14.1.2.0.0
    --jdkVersion=21.0.6

    ノート:

    jdkVersionは、17.0.14以上にすることもできます。
    WebLogic Image Tool createコマンドで使用可能なオプションの完全なリストの詳細は、イメージの作成に関する項を参照してください。

9.2.4 イメージの作成

OHSイメージを作成するには、次のコマンドを実行します。
  1. JDKパッケージをWebLogic Image Toolキャッシュに追加します。次に例を示します:
    imagetool cache addInstaller --type jdk --version 21.0.6 --path <download location>/jdk-21_linux-x64.tar.gz
  2. ダウンロードしたインストール・バイナリをWebLogic Image Toolキャッシュに追加します次に例を示します:
    imagetool cache addInstaller --type ohs --version 14.1.2.0.0 --path <download location>/fmw_14.1.2.0.0_ohs_linux64.bin
  3. Oracle HTTP Serverイメージを作成します。
    imagetool @<absolute path to buildargs file>

    ノート:

    デフォルトでは、ImageToolはOracle Linux 8でイメージを構築します。Oracle Linux 9でイメージを構築する場合は、イメージ・ツール・コマンドの後ろに--fromImage ghcr.io/oracle/oraclelinux:9-slimを追加する必要があります。
    たとえば、Oracle Linux 8の場合:
    imagetool @/scratch/imagetool-setup/docker-images/OracleHTTPServer/buildArgs
    Oracle Linux 9の場合:
    imagetool @/scratch/imagetool-setup/docker-images/OracleHTTPServer/buildArgs --fromImage ghcr.io/oracle/oraclelinux:9-slim
  4. イメージの作成後、docker imagesコマンドを使用して、作成したイメージを確認します。
    docker images | grep ohs
    出力は次のようになります:
    oracle/ohs:14.1.2.0.0                14.1.2.0.0                     ad732fc7c16b        About a minute ago   3.68GB
  5. インストールされたパッチを確認するには、次を実行します。
    imagetool inspect --image=<REPOSITORY>:<TAG> --patches
    次に例を示します:
    imagetool inspect --image=oracle/ohs:14.1.2.0.0 --patches
  6. 次のコマンドを実行して、コンテナ・イメージをtarファイルに保存します。
    docker save -o <path>/<file>.tar <image>
    次に例を示します:
    docker save -o $WORKDIR/ohs14.1.2.tar oracle/ohs:14.1.2.0.0