閱讀英文

共用方式為


容器工具啟動設定

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

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

[啟動配置檔] 對話框的螢幕快照,其中顯示容器啟動配置檔的啟動設定。

針對 [Docker Compose],選擇 [管理 Docker Compose 啟動設定] ,請參閱 啟動撰寫服務的子集。

launchSettings.json中,Docker 區段中的設定與 Visual Studio 如何處理容器化應用程式有關。

JSON
    "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} - 根據是否使用 SSL,以 httphttps 取代。

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

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

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

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

visual Studio 2022 17.12 和更新版本中已取代設定 DockerfileRunArgumentscontainerRunArguments,其可在 [啟動配置檔] UI 中設定為 Container run arguments

注意

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

後續步驟

設定 Container Tools 建置屬性來設定專案。

另請參閱