Hello World Docker デモンストレーションの Dockerfile.dndebug ファイル

本トピックには、Hello World Docker デモンストレーションの Dockerfile.dndebug ファイルのリストおよび説明が含まれています。Dockerfile 全体をリストし、Dockerfile に含まれる各コマンドの説明をその後の表にまとめてあります。Dockerfile のリストに示してある行番号は、読みやすくするために追加したものです。付属の Dockerfile には記載されていません。

注: Docker コンテナーで実行されているマネージ COBOL アプリケーションをデバッグするには、Visual Studio 2017 (またはそれ以降) を使用する必要があります。詳細については、「コンテナーで実行されるマネージ COBOL アプリケーションのデバッグ」を参照してください。
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 DTAG=win_4.0
006  FROM microfocus/vcbuildtools-build:${DTAG}
007  
008  ARG PLATFORM
009  
010  # optional arguments
011  ARG APPDIR=c:\\app
012  
013  # install visual studio remote tools and setup PATH to msvsmon
014  WORKDIR "${APPDIR}"
015  COPY VS_RemoteTools.exe "${APPDIR}\\"
016  RUN VS_RemoteTools.exe /install /quiet /norestart && \
017      del VS_RemoteTools.exe && \
018      setx /M PATH "%PATH%;C:\\Program Files\\Microsoft Visual Studio 15.0\\Common7\\IDE\\Remote Debugger\\x64"
019  
020  # set the start directory
021  WORKDIR "${APPDIR}"
022  EXPOSE 4022 4023
023  CMD msvsmon.exe /nostatus /silent /noauth /anyuser /nosecuritywarn

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

説明
005 - 006 使用するベース イメージとして、Visual COBOL ベース イメージを指定します。
008 - 011 docker build コマンドで渡すビルド引数を定義します。
  • ESPLATFORM。CICS アプリケーションを 32 ビット環境と 64 ビット環境のどちらで実行するかに応じて x86 または x64 のいずれかを指定します。
  • APPDIR。イメージのファイルシステムのどのフォルダーに CICS アプリケーションをコピーするかを指定します。この引数が指定されていない場合は c:\app が使用されます。
014 Docker の作業ディレクトリを、イメージのファイルシステムの Hello World アプリケーションのフォルダーに設定します。
015 - 018 コンテナーで実行されているマネージ COBOL のデバッグに必要な Visual Studio リモート ツールをコピーしてセットアップします。この Dockerfile に変更を加えて、Visual COBOL に付属の MicroFocus.COBOL.ExpressionEvaluator.Remote.dll ファイルもコピーする必要があります。MicroFocus.COBOL.ExpressionEvaluator.Remote.dll の詳細については、「コンテナーで実行されるマネージ COBOL アプリケーションのデバッグ」を参照してください。
021 Docker の作業ディレクトリを、イメージのファイルシステムの Hello World アプリケーションのフォルダーに設定します。
022 実行時にコンテナーがリッスンするネットワーク ポートを指定します。
023 Visual Studio リモート デバッガーを実行します。これは、コンテナーで実行されているマネージ COBOL のデバッグに必要です。