Windows 用の Enterprise Developer ビルド ツールを含むベース イメージの作成

このトピックでは、Windows 用の Enterprise Developer ビルド ツールのベース イメージを作成するために Dockerfile で実行する必要がある手順について説明します。

Windows 用の Enterprise Developer ビルド ツールのベース イメージを作成するための最も簡単かつ推奨される方法は、「Enterprise Developer ベース イメージのコンテナー デモンストレーション」の説明に倣ってコンテナー デモンストレーションを使用する方法です。コンテナー デモンストレーションを使用する場合は、すべての手順がコンテナー デモンストレーションで実行されるため、本トピックで説明する手順を実行する必要はありません。本トピックでは、Windows 用の Enterprise Developer ビルド ツールのベース イメージを作成するための独自の Dockerfile を記述する手順について説明します。

注:コンテナー化された環境で実行するために既存の COBOL アプリケーションを移行する際に Micro Focus が推奨するベスト プラクティスについては、『Best Practices for Moving Your COBOL Applications to Containers』という別のドキュメントが提供されています。詳細については、「Micro Focus: Best Practices for Moving Your COBOL Applications to Containers」を参照してください。

Windows 用の Enterprise Developer ビルド ツールのベース イメージを作成したら、そのベース イメージに基づいて追加イメージを作成できます。この追加イメージには、Windows 用の Enterprise Developer ビルド イメージの他に独自の COBOL アプリケーションも含みます。この追加イメージの作成の詳細については、「Windows 用の Enterprise Developer ビルド ツールで使用するアプリケーションを含むイメージの作成」を参照してください。

注:Enterprise Developer は開発およびテスト用の環境であり、本番環境として使用するものではありません。COBOL アプリケーションを本番環境のコンテナーで実行する場合は、Enterprise Server を含むコンテナーを使用する必要があります。

前提条件

Windows 用の Enterprise Developer ビルド ツール のベース イメージを作成する前に、次のものが用意されていることを確認してください。

ベース イメージの作成

Windows 用の Enterprise Developer ビルド ツールを含むベース イメージを作成するには、Dockerfile で次の手順を実行する必要があります。

  1. 作成元となるベース イメージを指定します。通常、これは microsoft/dotnet-framework または microsoft/dotnet-framework-build になります。

    Windows 用の Enterprise Developer ビルド イメージを含むベース イメージを作成する場合は、通常のイメージ (microsoft/dotnet-framework から作成) および「-build」イメージ (microsoft/dotnet-framework-build から作成) の 2 種類のイメージを必要に応じて作成できます。microsoft/dotnet-framework-build イメージには、microsoft/dotnet-framework に含まれていないビルド関連のファイルが含まれています。つまり、microsoft/dotnet-framework から作成されたイメージではアプリケーションを実行できますが、アプリケーションをビルドする場合には、microsoft/dotnet-framework-build を使用する必要があります。

    注:microsoft/dotnet-framework-build には microsoft/dotnet-framework に含まれていない追加ファイルが含まれているため、追加のビルド関連機能が必要な場合は、コンテナーのサイズを最小限に抑えるために、microsoft/dotnet-framework-build のみを使用してください。

    Windows 用の Enterprise Developer ビルド イメージを含むベース イメージを作成するコンテナー デモンストレーションでは、このアプローチを使用して、microfocus/edbuildtools:win_8.0 および microfocus/edbuildtools-build:win_8.0 の両方を作成します。

  2. イメージのメタデータを定義します。これにより、docker inspect コマンドの使用時にイメージの重要な詳細を簡単に設定できるようになります。
  3. ファイル名およびフォルダーの場所に関する変数を定義します。
    注:このイメージを使用して Enterprise Server でアプリケーションを実行する場合は、MFDS_EXTERNAL_ADDR 環境変数を設定して、解決可能な外部アドレス文字列を指定する必要があります。これは、クライアント ブラウザが、Enterprise Server Administration の ESMAC およびその他のユーティリティで使用される URL を解決できるようにするためです。

    この環境変数に指定した値は、URL 内の内部コンテナー アドレスを置き換えるために使用されます。

  4. Windows 用の Enterprise Developer ビルド ツールのインストール可能な実行可能ファイル (edbt_80.exe) を、ホスト マシンからイメージのファイル システム内の一時フォルダーにコピーし、それを実行して Windows 用の Enterprise Developer ビルド ツールをインストールします。

    edbt_80.exe の実行時に、次のパラメーターを指定する必要があります。

    /q
    サイレント インストールを実行します。これはユーザー インターフェイスを使用しない非対話型の方法であり、コマンド ラインで別途指定されていない限り、すべての値にデフォルト値が使用されます。
    InstallFolder=installation-location
    Windows 用の Enterprise Developer ビルド ツールをインストールするフォルダーの名前を指定します。このフォルダーは、イメージのファイルシステム上に作成しておく必要があります。
    /l log-file-name
    インストールのログ ファイルを作成します。
    accepteula=yes
    Micro Focus エンドユーザライセンス契約書 (EULA) の内容に同意することを示します。
  5. インストール時に生成されたログ ファイルを調べて、インストールが正常に完了したことを確認します。
  6. MFLicenseAdmin.exe ユーティリティを使用して、Windows 用の Enterprise Developer ビルド ツールのライセンスをインストールします。
  7. Ant および Java のサポートを設定します。
  8. 実行時にコンテナーがリッスンするネットワーク ポートを指定します。
  9. 必要なクリーンアップを実行します。これには、変数のリセットや一時フォルダーの削除などのタスクが含まれます。
  10. 作業ディレクトリを、Windows 用の Enterprise Developer ビルド ツールをインストールしたフォルダーに設定します。
注:Micro Focus では、上記の手順を実行する Dockerfile に加えて、Windows 用の Enterprise Developer ビルド ツールのベース イメージのプラットフォーム固有のバージョンを作成する追加の Dockerfile を用意することをお勧めします。追加の Dockerfile は非常に単純で、Windows 用の Enterprise Developer ビルド ツールのベース イメージを基礎として使用して、正しい (32 ビットまたは 64 ビット) 環境が設定されていることを確認するコマンドを実行するだけです。

また、Java のサポートを含まない Windows 用の Enterprise Developer ビルド ツールのベース イメージを作成することもできます。この必要がある場合は、Java のサポートを設定するためのステップを実行しないように上記の手順を変更するだけです。

Windows 用の Enterprise Developer ビルド ツールのベース イメージを作成する場合に、.NET COBOL アプリケーションをデバッグできるようにするには、必要なサポート ファイルがイメージに含まれていることを確認する必要があります。詳細については、「コンテナーで実行される .NET COBOL アプリケーションのデバッグ」を参照してください。