CICS Docker デモンストレーションの Dockerfile (Enterprise Developer for Eclipse)

注: 本トピックは、Enterprise Developer for Eclipse を使用している場合にのみ該当します。

本トピックでは、CICS Docker デモンストレーションの Dockerfile で使用されるコマンドについて詳しく説明します。Dockerfile 全体をリストし、Dockerfile に含まれる各コマンドの説明をその後の表にまとめてあります。Dockerfile のリストに示してある行番号は、読みやすくするために追加したものです。付属の Dockerfile には記載されていません。

001  # Copyright (C) Micro Focus 2018. All rights reserved. 
002  # This sample code is supplied for demonstration purposes only
003  # on an "as is" basis and is for use at your own risk. 
004  
005  ARG EDBTTAG
006  FROM microfocus/edbuildtools:${EDBTTAG}
007  
008  LABEL com.microfocus.is-example="true"
009  
010  # required arguments
011  ARG EDBTPLATFORM
012  
013  # optional arguments
014  ARG APPDIR=c:\\app
015  
016  # copy the application to the application directory
017  ENV BASE "${APPDIR}\\MSS"
018  COPY MSS${EDBTPLATFORM}_export.zip "${APPDIR}\\MSS_export.zip"
019  COPY MSS "${APPDIR}\\MSS\\"
020  
021  # set the start directory and the initial program name
022  WORKDIR "${APPDIR}"
023  
024  RUN set APPDIR=${APPDIR} && \
025      powershell -Command "Expand-Archive MSS_export.zip -Force -DestinationPath %APPDIR%" && \
026      del MSS_export.zip
027  
028  WORKDIR "${APPDIR}\\MSS${EDBTPLATFORM}"
029  
030  ENV EDBTPLATFORM=${EDBTPLATFORM}
031  
032  CMD ["powershell", "-file", "..\\MSS\\DeployAndWait.ps1", "-es_name", "MSS$($env:EDBTPLATFORM))"]
033  
034  EXPOSE 86 443 500-55000

この Dockerfile の各行のコマンドは次のとおりです。

説明
005 - 006 使用するベース イメージとして、Windows 用の Enterprise Developer ビルド ツール ベース イメージを指定します。
008 作成するイメージのメタデータ ラベルを指定します。これらのラベルは docker inspect コマンドで照会できます。
011 - 014 docker build コマンドで渡すビルド引数を定義します。
  • EDBTPLATFORM。CICS アプリケーションを 32 ビット環境と 64 ビット環境のどちらで実行するかに応じて x86 または x64 のいずれかを指定します。
  • APPDIR。イメージのファイルシステムのどのフォルダーに CICS アプリケーションをコピーするかを指定します。この引数が指定されていない場合は c:\app が使用されます。
017 - 019 CICS アプリケーションのソース ファイルを含む .zip ファイルを、イメージのファイルシステムの適切なフォルダーにコピーします。
022 Docker の作業ディレクトリを、CICS アプリケーションを含むディレクトリに設定します。
024 - 026 連結された一連の Windows コマンドを実行して、CICS アプリケーションのソース ファイルをイメージのファイルシステムの適切なフォルダーに解凍し、.zip ファイルを削除します。
028 Docker の作業ディレクトリを、CICS アプリケーションのソース ファイルを解凍したプラットフォーム固有のフォルダーに設定します。
030 CICS アプリケーションを 32 ビット環境と 64 ビット環境のどちらで実行するかを示す値を保持する環境変数を作成します。
032 PowerShell スクリプトを実行して、Micro Focus Directory Server (MFDS) を起動し、リージョンの定義をディプロイしてからアプリケーションをディプロイし、コンテナーが終了するまでのリージョンのコンソール .log ファイルを表示します。
034 実行時にコンテナーがリッスンするネットワーク ポートを指定します。