容器工具啟動設定

在 ASP.NET Core 專案中的 [屬性] 資料夾中,您可以找到launchSettings.json檔案,其中包含控制 Web 應用程式在開發電腦上啟動方式的設定。 如需如何在 ASP.NET 開發中使用此檔案的詳細資訊,請參閱在 ASP.NET Core中使用多個環境

您可以直接編輯此檔案,但在 Visual Studio IDE 中,您也可以透過 UI 編輯此檔案中的屬性。 選擇啟動選項旁的下拉式清單(例如 Docker.NET SDK),然後選擇 [ 偵錯屬性]。

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 設定會識別本節適用於 Container Tools。

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} - 使用 或 取代 http 為 , https 視是否使用SSL而定。

- {ServiceHost} - 通常取代為 localhost
不過,當您以 Windows 10 RS3 或更舊版本的 Windows 容器為目標時,它會取代為容器的 IP。

- {ServicePort}- 通常會以 或 httpPort取代sslPort,視是否使用SSL而定。
不過,當您以 Windows 10 RS3 或較舊版本的 Windows 容器為目標時,它會取代為 44380,視是否使用 SSL 而定。
sslPort "sslPort": 44381 啟動容器時,主機上的這個連接埠會對應至容器的連接埠 443。
useSSL "useSSL": true 指出啟動專案時是否要使用 SSL。 如果未 useSSL 指定 ,則會在時 sslPort > 0使用 SSL。

注意

例如,如果在專案檔和啟動配置檔中找到相同的設定, 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,以 或 https取代 http

- {ServiceHost} - 通常取代為 localhost
不過,當您以 Windows 10 RS3 或更舊版本的 Windows 容器為目標時,它會取代為容器的 IP。

- {ServicePort} - 通常會以 sslPort 或 HTTPPort 取代,視是否使用 SSL 而定。
不過,當您以 Windows 10 RS3 或較舊版本的 Windows 容器為目標時,它會取代為 44380,視是否使用 SSL 而定。
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。

注意

例如,如果在專案檔和啟動配置檔中找到相同的設定, DockerfileRunArguments則啟動配置檔中的值優先。

下一步

藉由設容器工具組建屬性來設定專案。

另請參閱