容器工具啟動設定
在 ASP.NET Core 專案中的 [屬性] 資料夾中,您可以找到launchSettings.json
檔案,其中包含控制 Web 應用程式在開發電腦上啟動方式的設定。 如需如何在 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 設定會識別本節適用於 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
則啟動配置檔中的值優先。
偵錯配置檔 UI 中的屬性 | 在launchSettings.json 中設定名稱 | 範例 | 描述 |
---|---|---|---|
Command line arguments | 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,以 或 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 上接聽。 |
Ssl 埠 | sslPort | "sslPort": 44381 |
啟動容器時,主機上的這個連接埠會對應至容器的連接埠 443。 |
N/A | useSSL | "useSSL": true |
指出啟動專案時是否要使用 SSL。 如果未 useSSL 指定 ,則會在時 sslPort > 0 使用 SSL。 |
並非所有設定都可在 UI 中使用,例如 useSSL
。 若要變更這些設定,請直接編輯 launchSettings.json
。
DockerfileRunArguments
設定在 Visual Studio 2022 17.12 和更新版本中containerRunArguments
已取代,可在 [啟動設定檔] UI 中設定為 Container run arguments
。
注意
如果在專案檔和啟動配置檔中找到相同的設定,啟動配置檔中的值會優先使用。
下一步
藉由設容器工具組建屬性來設定專案。