コンテナー ツールの起動設定
ASP.NET Core プロジェクトの Properties フォルダーには、開発用コンピューターでの Web アプリの起動方法を制御する設定を含む launchSettings.json
ファイルがあります。 ASP.NET 開発でのこのファイルの使用方法についての詳細は、「ASP.NET Core で複数の環境を使用する」を参照してください。
このファイルは直接編集できますが、Visual Studio IDE で、UI を通してこのファイルのプロパティを編集することもできます。 起動オプションの横にあるドロップダウン リスト ( Docker
や .NET SDK
など) を選択し、単一コンテナー プロジェクトの Debug プロパティ を選択します。
Docker Compose の場合は、 Manage Docker Compose Launch Settings を選択し、「 Compose サービスのサブセットを起動する」を参照してください。
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 が使用されているかどうかに応じて、 http または https に置き換えられます。 - {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
) が見つかった場合、起動設定ファイルの値が優先されます。
デバッグ プロファイル UI のプロパティ | launchSettings.jsonの設定名 | 例 | 説明 |
---|---|---|---|
コマンド ライン引数 | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
これらのコマンドライン引数は、コンテナー内のプロジェクトを起動するときにアプリを起動するために使用されます。 |
コンテナーの実行引数 | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
docker run コマンドに渡す追加の引数。 (Visual Studio 17.12 以降では小文字のバージョンを使用します。大文字のバージョンは Visual Studio 17.9 で導入され、下位互換性のために提供されています)。 次の置換トークンを使用できます。 - {ProjectDir} - プロジェクト ディレクトリへの完全なパス。 - {OutDir} - MSBuild プロパティである OutDir の値。 |
該当なし | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
containerRunArguments と同様ですが、Dockerfile ビルドの種類を使用するプロジェクトに対してのみです。 Visual Studio 17.12 以降では、代わりに containerRunArguments を使用することをお勧めします。 |
環境変数 | environmentVariables | "environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80" , "ASPNETCORE_HTTPS_PORT": "44381" } |
これらの環境変数の値は、プロセスがコンテナーで起動されるときに、プロセスに渡されます。 |
コンテナー名 | containerName | mycontainer |
(17.12 以降)正規表現 [a-zA-Z0-9][a-zA-Z0-9_.-] に一致するコンテナーの名前。 |
コンテナー環境ファイル | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 以降)セミコロンで区切られた環境変数ファイル (.env ファイル) の一覧。 .env ファイルの構文を参照してください。 |
Http ポート | httpPort | "httpPort": 24051 |
コンテナーを起動すると、ホスト上にあるこのポートが、コンテナーのポート 80 にマップされます。 |
ブラウザーの起動 | launchBrowser | "launchBrowser": true |
プロジェクトを正常に起動した後にブラウザーを起動するかどうかを示します。 |
該当なし | launchBrowserTimeout | "launchBrowserTimeout": 1 |
ブラウザーを起動する前にアプリの準備が整うのを待機する最大時間 (秒単位)。 |
URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
この URL は、ブラウザーを起動するときに使用されます。 この文字列に対してサポートされている置換トークンは次のとおりです。 - {Scheme} - SSL が使用されているかどうかに応じて、 http または https に置き換えられます。 - {ServiceHost} - 通常、 localhost に置き換えられます。 ただし、Windows 10 RS3 以前の Windows コンテナーを対象としている場合は、これはコンテナーの IP に置き換えられます。 - {ServicePort} - SSL が使用されているかどうかに応じて、通常は sslPort または httpPort に置き換えられます。 ただし、Windows 10 RS3 以前の Windows コンテナーを対象としている場合、SSL が使用されているかどうかに応じて、 443 または 80 に置き換えられます。 |
すべてのポートを発行する | publishAllPorts | "publishAllPorts": true |
true の場合は、-P を docker run に渡し、公開されているすべてのポートをランダム ポートに公開します。 Docker ドキュメントを参照してください。 ただし、sslPort を指定すると、Visual Studio は引き続き -p 5002:443 を渡すため、サービスは引き続きポート 5002 でリッスンしている必要があります。 |
Ssl ポート | sslPort | "sslPort": 44381 |
コンテナーを起動すると、ホスト上にあるこのポートが、コンテナーのポート 443 にマップされます。 |
該当なし | useSSL | "useSSL": true |
プロジェクトを起動するときに SSL を使用するかどうかを示します。 useSSL が指定されていない場合は、sslPort > 0 のときに SSL が使用されます。 |
UI ですべての設定を使用できるわけではありません (たとえば、 useSSL
)。 これらの設定を変更するには、 launchSettings.json
を直接編集します。
DockerfileRunArguments
設定は、containerRunArguments
によって Visual Studio 2022 17.12 以降で重ね付けされます。これは、起動プロファイル UI でContainer run arguments
として設定できます。
Note
プロジェクト ファイルと起動設定ファイルの両方で同じ設定が見つかった場合は、起動設定ファイルの値が優先されます。
次のステップ
コンテナー ツールのビルド プロパティを設定することで、プロジェクトを構成します。