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 を含むコンテナーを使用する必要があります。

Enterprise Developer for Eclipse ユーザー向け (Windows):

前提条件

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

注:Enterprise Developer UNIX Components を使用している場合は、次のものが用意されていることを確認してください。
  • Enterprise Developer 用のインストール可能な実行可能ファイル。これは setup_entdev_for_docker_8.0_platform で、Enterprise Developer ベース イメージの Docker デモンストレーションに含まれています。
  • Enterprise Developer の有効なライセンス (.mflic または .xml)。
  • JDK のインストールを実行するための関連する実行可能ファイル (イメージに Java のサポートを含める場合)。このファイルは、選択した JDK プロバイダーから入手できます。

Enterprise Developer for Eclipse ユーザー向け (Windows):

ベース イメージの作成

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 のサポートを設定するためのステップを実行しないように上記の手順を変更するだけです。

Enterprise Developer for Eclipse (UNIX) または Enterprise Developer UNIX Components を使用する場合:

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

  1. 作成元となるベース イメージを指定します。通常、これは、Red Hat Linux を使用しているか SUSE Linux を使用しているかに応じて、rhel7/rhel:latest または suse/sles12sp3 になります。
  2. イメージのメタデータを定義します。これにより、docker inspect または podman inspect コマンドの使用時にイメージの重要な詳細を簡単に設定できるようになります。
  3. ファイル名およびフォルダーの場所に関する変数を定義します。
  4. Windows 用の Enterprise Developer ビルド ツールを正常にインストールするために必要なパッケージをすべてインストールします。詳細については、「ソフトウェア要件」を参照してください。
  5. Windows 用の Enterprise Developer ビルド ツールのインストール可能な実行可能ファイル (setup_entdev_for_docker_8.0_platform.gz) をホスト マシンからイメージのファイル システム内の一時フォルダーにコピーします。
  6. ユーザーおよびグループを作成します。このユーザーおよびグループの詳細が Windows 用の Enterprise Developer ビルド ツールのインストール時に使用されます。
  7. Windows 用の Enterprise Developer ビルド ツールのインストール可能な実行可能ファイルに実行権限があることを確認してから、このファイルを実行します。

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

    -IacceptEULA
    Micro Focus エンドユーザライセンス契約書 (EULA) の内容に同意することを示します。
    -ESadminID=user-name
    Enterprise Server System Administrator のプロセス ユーザー ID を設定します。
  8. 動的リンカーの実行時バインディングを構成して、Enterprise Developer に付属の共有オブジェクトを含めます。

    これにより、LD_LIBRARY_PATH 環境変数を更新する必要がなくなります。

  9. 必要なクリーンアップを実行します。これには、変数のリセットや一時フォルダーの削除などのタスクが含まれます。
  10. Windows 用の Enterprise Developer ビルド ツールのライセンスをインストールした後、ライセンス ファイルを削除します。
注:ログインしてシェルまたは Enterprise Developer のコマンドを実行できるイメージを作成することもできます。このオプションは、ベース イメージにアプリケーション ファイルを追加しない場合にベース イメージから Enterprise Developer のコマンドを使用するのに便利です。

すべてのコンテナー デモンストレーションに、このようなログイン イメージを作成するオプションが用意されています。それらのイメージのタグには、「_login」というサフィックスが付きます。_login イメージを作成するように指定する方法については、「Enterprise Developer ベース イメージのコンテナー デモンストレーションの実行」を参照してください。このようなイメージの作成に必要なコマンドの詳細については、いずれかのコンテナー デモンストレーションの bld.sh スクリプトを参照してください。

イメージへの .NET 6 サポートの追加

注:このオプションは、次のプラットフォームでサポートされています。
  • AmazonLinux 2
  • RHEL 8
  • SLES/OpenSUSE Leap 15
  • Ubuntu 18.04、20.04、21.04、21.10

イメージ作成用のビルド ツール bld.sh では、イメージに .NET 6 サポートを追加するオプションの引数 dotnet をサポートしています。

イメージを作成する際に dotnet を指定すると、.NET 6 SDK または .NET 6 ランタイムのいずれかがイメージに含まれます。bld.sh で、dotnet NuGet ツールを使用して製品の NuGet リポジトリおよびテンプレートが登録されます。これにより、イメージを CI/CD システムでも使用できるようになります。

Enterprise Developer の場合、bld.sh で .NET SDK がインストールされます。NuGet パッケージのパスが調整され、テンプレートが登録されます。セカンダリ スクリプトの dotnet_install.sh でインストールが完了します。

Enterprise Server の場合、.NET ランタイムが使用されます。