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

本トピックには、Hello World Docker デモンストレーションの Dockerfile.dn ファイルのリストおよび説明が含まれています。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 MFPRODBASE=
006  ARG DTAG=win_4.0
007  FROM microfocus/vcbuildtools-build:${DTAG} as build-env
008  
009  LABEL com.microfocus.is-example="true"
010  
011  ARG Platform=AnyCPU
012  ARG Config=Release
013  
014  # Copy the src folder to c:\src in the container
015  COPY src "c:\\src"
016  WORKDIR "c:\\src"
017  
018  # build source using the msbuild project with a output directory of c\app
019  ENV BLDPlatform ${Platform}
020  ENV BLDConfig ${Config}
021  RUN msbuild /p:OutDir=c:\app /p:Configuration=%BLDConfig%;Platform=%BLDPlatform% DNHelloWorld.cblproj
022  
023  # Build runtime image for development or production
024  FROM ${MFPRODBASE}
025  WORKDIR "c:\\app"
026  COPY --from=build-env "c:\\app" "c:\\app"
027  ENTRYPOINT ["DNHelloWorld.exe"]

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

説明
005 docker build コマンドで渡す MFPRODBASE ビルド引数を定義します。

この引数は、この Dockerfile で後に使用する Visual COBOL ベース イメージを指定します。

006 - 007 Visual COBOL ベース イメージの「build」バージョンをベース イメージとして使用するように指定し、このビルド ステージに「build-env」という名前を付けます。
009 作成するイメージのメタデータ ラベルを指定します。これらのラベルは docker inspect コマンドで照会できます。
011 - 012 docker build コマンドで渡すビルド引数を定義します。
  • Platform。ビルド時に使用する Platform プロパティを指定します。
  • Config。ビルド時に使用する Configuration プロパティを指定します。
015 - 016 Hello World のソース ファイルをイメージのファイルシステムのフォルダーにコピーして、そのフォルダーを Docker の作業ディレクトリに設定します。
019 - 021 Hello World アプリケーションをビルドして、ビルド出力を c:\app に配置します。
024 Visual COBOL ベース イメージ (MFPRODBASE ビルド引数によって指定される) を使用する新しいビルド ステージの開始を指定します。
025 - 026 Docker の作業ディレクトリを c:\app に設定し、そこに「build-env」ビルド ステージのファイルをコピーします。
027 イメージを実行すると Hello World アプリケーションが実行されるように指定します。