容器工具啟動設定
在 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 容器為目標時,它會取代為 443 或 80 ,視是否使用 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 容器為目標時,它會取代為 443 或 80 ,視是否使用 SSL 而定。 |
publishAllPorts | "publishAllPorts": true |
如果為 true,則傳遞 -P 至 docker run ,這會將所有公開的埠發佈至隨機埠。 請參閱 Docker 文件。 不過,當您指定 sslPort 時,Visual Studio 仍會傳遞 -p 5002:443 ,因此您的服務仍應該在連接埠 5002 上接聽。 |
sslPort | "sslPort": 44381 |
啟動容器時,主機上的這個連接埠會對應至容器的連接埠 443。 |
useSSL | "useSSL": true |
指出啟動專案時是否要使用 SSL。 如果未 useSSL 指定 ,則會在時 sslPort > 0 使用 SSL。 |
注意
例如,如果在專案檔和啟動配置檔中找到相同的設定, DockerfileRunArguments
則啟動配置檔中的值優先。
下一步
藉由設容器工具組建屬性來設定專案。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應