コンテナー内のネイティブ COBOL アプリケーションをビルドする方法

注: This topic only applies to using native COBOL applications in containers. To use .NET COBOL applications in containers you need to use the functionality described in コンテナーでの .NET COBOL アプリケーションのデバッグおよび実行.

コンテナー内のネイティブ COBOL アプリケーションを使用する場合、アプリケーションをデバッグまたは実行する際に使用するビルド方法に注意する必要があります。本トピックでは、使用できる 2 つの方法について説明します。

使用できる 2 つの方法とそれらを使用した場合の影響を次に示します。

  • ホストでビルド (「高速モード」のデバッグまたは実行)

    Enterprise Developer で作成される Dockerfile では、複数のステージから成るビルド方法が使用されます。この方法では、「build」ステージでプロジェクトをビルドし、そのビルド出力を「base」ステージでコンテナーのファイル システムの c:\App フォルダーにコピーしてプロジェクトを実行します。

    「ホストでビルド」の方法では、Dockerfile の「base」ステージのみを使用してプロジェクトがビルドされます。つまり、コンテナー内の開発環境ではなく、ホスト上の開発環境でプロジェクトがビルドされます。ホストでビルドが完了すると、ボリュームのマウントを使用して、ビルド出力を含むフォルダーがコンテナー ファイル システムの c:\App フォルダーにコピーされます。

  • コンテナーでビルド

    「コンテナーでビルド」の方法では、Dockerfile 全体を使用してプロジェクトがビルドされます。つまり、プロジェクトのソース ファイルがコンテナーにコピーされ、コンテナー内の開発環境でビルドされた後、コンテナー内のディプロイ環境を使用してビルド出力が実行されます。

一般にホスト コンピューターでプロジェクトをビルドした方がコンテナーでビルドするよりも高速であるため、「ホストでビルド」の方が「コンテナーでビルド」よりも格段に高速になることがあります。そのため、ネイティブ COBOL アプリケーションをデバッグする際は常に「ホストでビルド」の方法を使用します。

「コンテナーでビルド」は「ホストでビルド」よりも低速ですが、ビルド、デバッグ、およびディプロイに常に同じ環境 (コンテナー内の環境) が使用されます。そのため、リリース用のネイティブ COBOL アプリケーションをビルドする際は「ホストでビルド」の方法を使用します。

注:

「ホストでビルド」および「コンテナーでビルド」のどちらの方法でも、デバッグまたは実行の操作に使用するコンテナーが Enterprise Developer で作成され、プロジェクトの実行が完了すると削除されます。両方の方法でイメージも作成されますが、それらは保持されて以降のビルドに使用されます。