次の方法で共有


Container Tools の起動設定

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

このファイルは直接編集できますが、Visual Studio IDE では、UI を使用してこのファイルのプロパティを編集することもできます。 起動オプションの横にあるドロップダウン リスト (Docker.NET SDKなど) を選択し、単一コンテナー プロジェクトの [デバッグ プロパティ] 選択します。

コンテナー起動プロファイルの起動設定を示す起動プロファイル ダイアログのスクリーンショット。

Docker Compose の場合は、[Docker 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 が使用されます。

手記

同じ設定 (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 の値。
N/A 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 プロジェクトを正常に起動した後にブラウザーを起動するかどうかを示します。
N/A 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 の場合は、-Pdocker runに渡します。これによって、公開されているすべてのポートがランダム なポートに発行されます。 Docker のドキュメント を参照してください。 ただし、sslPortを指定しても、Visual Studio は引き続き -p 5002:443渡されるため、サービスは引き続きポート 5002 でリッスンしている必要があります。
SSL ポート sslPort "sslPort": 44381 ホスト上のこのポートは、コンテナーの起動時にコンテナーのポート 443 にマップされます。
N/A useSSL "useSSL": true プロジェクトの起動時に SSL を使用するかどうかを示します。 useSSL が指定されていない場合は、sslPort > 0するときに SSL が使用されます。

UI ですべての設定を使用できるわけではありません (例: useSSL)。 これらの設定を変更するには、launchSettings.json を直接編集します。

DockerfileRunArguments の設定は、containerRunArgumentsによって Visual Studio 2022 17.12 以降で重ねられ、Container run argumentsとして起動プロファイル UI で設定できます。

手記

プロジェクト ファイルと起動設定ファイルの両方で同じ設定が見つかった場合は、起動設定ファイルの値が優先されます。

次の手順

Container Tools ビルド プロパティ設定して、プロジェクトを構成します。

関連項目

  • Docker Compose ビルド プロパティ する
  • Docker Compose の起動プロファイルを管理する