コンテナー ツールの起動設定

ASP.NET Core プロジェクトの [プロパティ] フォルダーには、launchSettings.json開発用コンピューターでの Web アプリの起動方法を制御する設定が含まれているファイルがあります。 ASP.NET 開発でのこのファイルの使用方法についての詳細は、「ASP.NET Core で複数の環境を使用する」を参照してください。

このファイルは直接編集できますが、Visual Studio IDE で、UI を通してこのファイルのプロパティを編集することもできます。 起動オプションの横にあるドロップダウン リスト (たとえば、または.NET SDK) を選択し、[Dockerデバッグプロパティ] を選択します

launchSettings.json では、Docker セクションの設定は、Visual Studio でのコンテナー化されたアプリの処理方法に関連しています。

    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
      "DockerfileRunArguments": "-l mylabel=value",
      "environmentVariables": {
        "ASPNETCORE_URLS": "https://+:443;http://+:80",
        "ASPNETCORE_HTTPS_PORT": "44360"
      },
      "httpPort": 51803,
      "useSSL": true,
      "sslPort": 44360
    }

commandName 設定は、このセクションがコンテナー ツールに適用されることを示しています。

ほとんどの設定 launchSettings.json は、Dockerfile を使用しているか、.NET SDK の組み込みのコンテナー ビルド サポート (.NET 7 以降で利用可能) を使用しているかに関係なく、使用可能で適用可能です。

このセクションで設定できるプロパティを次の表に示します。

設定名 説明
commandLineArgs "commandLineArgs": "--mysetting myvalue" これらのコマンドライン引数は、コンテナー内のプロジェクトを起動するときにアプリを起動するために使用されます。
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" コマンドに渡す追加の docker run 引数。
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"``
}
これらの環境変数の値は、プロセスがコンテナーで起動されるときに、プロセスに渡されます。
httpPort "httpPort": 24051 コンテナーを起動すると、ホスト上にあるこのポートが、コンテナーのポート 80 にマップされます。
launchBrowser "launchBrowser": true プロジェクトを正常に起動した後にブラウザーを起動するかどうかを示します。
launchBrowserTimeout "launchBrowserTimeout": 1 ブラウザーを起動する前にアプリの準備が整うまで待機する最大時間 (秒)。
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" この URL は、ブラウザーを起動するときに使用されます。 この文字列に対してサポートされている置換トークンは次のとおりです。

- {Scheme}- SSL が使用されているかどうかに応じて、いずれかhttphttpsに置き換えられます。

- {ServiceHost} - 通常は に localhost置き換えられます。
ただし、Windows 10 RS3 以前の Windows コンテナーを対象としている場合は、これはコンテナーの IP に置き換えられます。

- {ServicePort} - SSL が使用されているかどうかに応じて、sslPort または httpPort に置き換えられます。
ただし、Windows 10 RS3 以前の Windows コンテナーを対象としている場合、SSL が使用されているかどうかに応じて、443 または 80 に置き換えられます。
sslPort "sslPort": 44381 コンテナーを起動すると、ホスト上にあるこのポートが、コンテナーのポート 443 にマップされます。
useSSL "useSSL": true プロジェクトを起動するときに SSL を使用するかどうかを示します。 useSSL が指定されていない場合は、sslPort > 0 のときに SSL が使用されます。

Note

プロジェクト ファイルと起動設定ファイル内に同じ設定 (たとえば、DockerfileRunArguments) が見つかった場合、起動設定ファイルの値が優先されます。

設定の名前 説明
commandLineArgs "commandLineArgs": "--mysetting myvalue" これらのコマンドライン引数は、コンテナー内のプロジェクトを起動するときにアプリを起動するために使用されます。
containerRunArguments "containerRunArguments": "-l mylabel=value" dockerfileRunArguments と同様ですが、.NET SDK コンテナー ビルド タイプで使用します。
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" コマンドに渡す追加の docker run 引数。
/
この設定は、Dockerfile コンテナー ビルド タイプを使用するプロジェクトにのみ適用されます。

Visual Studio 17.3 以降では、追加された以下の代替トークンを使用できます。

- {ProjectDir} - プロジェクト ディレクトリへの完全なパス。

- {OutDir} - MSBuild プロパティである OutDir の値。
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
これらの環境変数の値は、プロセスがコンテナーで起動されるときに、プロセスに渡されます。
httpPort "httpPort": 24051 コンテナーを起動すると、ホスト上にあるこのポートが、コンテナーのポート 80 にマップされます。
launchBrowser "launchBrowser": true プロジェクトを正常に起動した後にブラウザーを起動するかどうかを示します。
launchBrowserTimeout "launchBrowserTimeout": 1 ブラウザーを起動する前にアプリの準備が整うまで待機する最大時間 (秒)。
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" この URL は、ブラウザーを起動するときに使用されます。 この文字列に対してサポートされている置換トークンは次のとおりです。

- {Scheme}- SSL が使用されているかどうかに応じて、どちらかhttphttpsに置き換えられます。

- {ServiceHost} - 通常は に localhost置き換えられます。
ただし、Windows 10 RS3 以前の Windows コンテナーを対象としている場合は、これはコンテナーの IP に置き換えられます。

- {ServicePort} - SSL が使用されているかどうかに応じて、通常は sslPort または httpPort に置き換えられます。
ただし、Windows 10 RS3 以前の Windows コンテナーを対象としている場合、SSL が使用されているかどうかに応じて、443 または 80 に置き換えられます。
publishAllPorts "publishAllPorts": true true の場合は、-Pdocker run に渡し、公開されているすべてのポートをランダム ポートに公開します。 Docker ドキュメントを参照してください。 ただし、sslPort を指定すると、Visual Studio は引き続き -p 5002:443 を渡すため、サービスは引き続きポート 5002 でリッスンしている必要があります。
sslPort "sslPort": 44381 コンテナーを起動すると、ホスト上にあるこのポートが、コンテナーのポート 443 にマップされます。
useSSL "useSSL": true プロジェクトを起動するときに SSL を使用するかどうかを示します。 useSSL が指定されていない場合は、sslPort > 0 のときに SSL が使用されます。

Note

プロジェクト ファイルと起動設定ファイル内に同じ設定 (たとえば、DockerfileRunArguments) が見つかった場合、起動設定ファイルの値が優先されます。

次のステップ

コンテナー ツールのビルド プロパティを設定することで、プロジェクトを構成します。

関連項目