CICS Docker デモンストレーションの Dockerfile (Enterprise Developer UNIX コンポーネント)

注: 本トピックは、Enterprise Developer UNIX コンポーネントを使用している場合にのみ該当します。

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

注: Red Hat Linux に付属の Dockerfile と SUSE Linux に付属の Dockerfile には多少の違いがあります。以下に示す Dockerfile は Red Hat Linux に付属のものです。2 つのバージョンの相違については次の表を参照してください。
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  FROM microfocus/entdevhub:rhel7_4.0_x64
006  
007  ARG ESADM_USER=edadm
008  
009  LABEL com.microfocus.is-base-image="false"
010  
011  # Create user app and setup cobsetenv
012  USER root
013  
014  RUN useradd -ms /bin/bash app && \
015      usermod -aG $ESADM_USER app && \
016      touch /etc/profile && \
017      touch ~app/.bashrc && \
018      echo ". ~/bin/cobsetenv_login" >>~app/.bashrc && \
019      echo ". ~/bin/cobsetenv_login" >>~app/.bash_login
020  
021  COPY sample_setup /home/app/bin/
022  RUN  chown -R app /home/app
023  
024  USER app
025  ENV BASE /home/app/MSS
026  ENV CCITCP2_PORT 4790
027  WORKDIR "/home/app"
028  COPY MSS.tar.gz /home/app
029  COPY MSS64_export.tar.gz /home/app
030  RUN tar xvfp MSS.tar.gz && \
031      tar xvfp MSS64_export.tar.gz
032  
033  COPY cobsetenv_login /home/app/bin/
034  
035  EXPOSE 443 500-55000
036  
037  CMD /home/app/bin/sample_setup

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

説明
[005] 使用するベース イメージとして、Enterprise Developer ベース イメージを指定します。

SUSE Linux では、Dockerfile で指定されるタグは sles12sp3_4.0_x64 になります。

[007] docker build コマンドで渡すビルド引数を定義します。
  • ESADM_USER。Enterprise Server の管理者ユーザーに使用する ID を指定します。
[009] 作成するイメージのメタデータ ラベルを指定します。これらのラベルは docker inspect コマンドで照会できます。
[012] ユーザーを root に設定します。
014 - 022 連結された一連のコマンドを実行して、Enterprise Server の管理者ユーザーを追加し、そのユーザーが使用するシェルを設定します。
[024] イメージの実行時に使用するユーザー名を設定します。
025 - 026 この Dockerfile で使用する環境変数を作成します。
  • BASE。 CICS アプリケーションのベース フォルダーを指定します。これが必要であるのは、MSS*_export.zip で指定されているリソース定義でこの環境変数が使用されているからです。
  • CCITCP2_PORT。CCITCP2 登録プログラムが動作するポートを指定します。詳細については、「Enterprise Server 通信の環境変数」を参照してください。
[027] Docker の作業ディレクトリを、CICS アプリケーションのソース ファイルが置かれているフォルダーに設定します。
028 - 031 CICS アプリケーションのソース ファイルを含む .tar ファイルをコピーして、ソース ファイルを抽出します。
[033] ユーザーがログオンしたときに使用されるデフォルトの環境をコピーします。
[035] 実行時にコンテナーがリッスンするネットワーク ポートを指定します。
[037] スクリプトを実行して、Micro Focus Directory Server (MFDS) を起動し、リージョンの定義をディプロイしてからアプリケーションをディプロイし、コンテナーが終了するまでのリージョンのコンソール .log ファイルを表示します。