設定 Visual Studio 容器工具

使用 Visual Studio 設定,您可以控制 Visual Studio 與 Docker 容器搭配運作方式的某些層面,包括使用 Docker 容器時會影響效能和資源使用量的設定。

容器工具設定

從主功能表中,選擇 [工具] > [選項],並展開 [容器工具] > [設定]。 容器工具設定隨即出現。

容器工具 [一般] 設定:

Visual Studio 容器工具選項,顯示:[視需要安裝 Docker Desktop] 和 [信任 ASP.NET Core SSL 憑證]。

容器工具 [單一專案] 和 [Docker Compose] 設定:

Visual Studio 容器工具選項,顯示:[在專案關閉時終止容器]、[在專案開啟時提取所需的 Docker 映像] 和 [在專案開啟時執行容器]。

Visual Studio 容器工具選項,顯示:[在專案關閉時終止容器]、[在專案開啟時提取所需的 Docker 映像]、[在專案開啟時執行容器]、[在容器中執行服務以啟用 Azure 驗證] 和 [在容器中執行服務以啟用熱重新載入]。

下表可協助您決定如何設定這些選項。

下表描述 [一般] 設定:

名稱 預設設定 套用至 描述
視需要安裝 Docker Desktop 提示我 單一專案、Docker Compose 選擇是否要在未安裝 Docker Desktop 時提示您。
信任 ASP.NET Core SSL 憑證 提示我 ASP.NET Core 2.x 專案 當設定為 [提示我] 時,如果 localhost SSL 憑證不受信任,Visual Studio 會在每次執行 ASP.NET Core 2.x 專案時提示。

下表描述 [單一專案] 和 [Docker Compose] 設定:

名稱 預設設定 套用至 描述
在專案開啟時提取所需的 Docker 映像 True 單一專案、Docker Compose 為了提高載入專案時的效能,Visual Studio 會在背景中啟動 Docker 提取作業,因此當您準備好要執行程式碼時,映像已下載或正在下載中。 如果您只要載入專案並瀏覽程式碼,則可以設為 False,以避免下載您不需要的容器映像。
於專案開啟時,提取更新後的 Docker 映像 .NET Core 專案 單一專案、Docker Compose 開啟專案時,檢查映像的更新,並在可用時下載。
在專案開啟時執行容器 True 單一專案、Docker Compose 同樣為了提高效能,Visual Studio 會提前建立容器,讓您在建置和執行容器時可用。 如果您想要控制何時建立容器,請設為 False
在專案關閉時移除容器 True 單一專案、Docker Compose 如果您想要在關閉方案或關閉 Visual Studio 之後保留方案的容器,請設為 False
名稱 預設設定 套用至 描述
在專案開啟時提取所需的 Docker 映像 True 單一專案、Docker Compose 為了提高載入專案時的效能,Visual Studio 會在背景中啟動 Docker 提取作業,因此當您準備好要執行程式碼時,映像已下載或正在下載中。 如果您只要載入專案並瀏覽程式碼,則可以設為 False,以避免下載您不需要的容器映像。
於專案開啟時,提取更新後的 Docker 映像 .NET Core 專案 單一專案、Docker Compose 開啟專案時,檢查映像的更新,並在可用時下載。
在專案開啟時執行容器 True 單一專案、Docker Compose 同樣為了提高效能,Visual Studio 會提前建立容器,讓您在建置和執行容器時可用。 如果您想要控制何時建立容器,請設為 False
在專案關閉時移除容器 True 單一專案、Docker Compose 如果您想要在關閉方案或關閉 Visual Studio 之後保留方案的容器,請設為 False
在容器中執行服務以啟用 Azure 驗證 True 單一專案、Docker Compose Visual Studio 版本 17.6 或更新版本會在可協助 Azure 驗證的容器中執行權杖 Proxy 服務,讓您的應用程式可以在開發期間使用 Azure 服務。 如果您不想安裝並執行此服務,請設為 False
在容器中執行服務以啟用熱重新載入 True 單一專案、Docker Compose 如果您不想安裝並執行此服務,請設為 False。 熱重新載入服務可在 Visual Studio 2022 版本 17.7 和更新版本中使用,且僅支援執行而不偵錯 (Ctrl+F5)。

[容器工具視窗] 設定會控制套用至 [容器] 工具視窗的設定,其中顯示 Docker 容器和映像的相關資訊。 請參閱使用容器視窗

Visual Studio 容器工具選項,顯示 [容器] 工具視窗可用的設定

下表描述 [容器] 視窗設定:

名稱 預設設定 描述
剪除容器前確認 永遠 控制剪除未使用的容器時是否提示您。
剪除映像前確認 永遠 控制剪除未使用的映像時是否提示您。
移除容器前確認 永遠 控制移除容器時是否提示您。
移除映像前確認 永遠 控制移除映像時是否提示您。
執行大量映像前確認 永遠 控制您是否在一次從超過 10 個映像啟動容器之前收到提示。

警告

如果 localhost SSL 憑證不受信任,且您選取隱藏提示的方塊,則 HTTPS Web 要求可能會在應用程式或服務的執行階段失敗。 在此情況下,請清除 [不要提示] 核取方塊,執行您的專案,並在提示時表示信任。

設定 Azure 驗證

如果您的應用程式使用 Azure 服務,在容器中執行時需要適當的驗證認證,才能向 Azure 服務進行驗證。 在開發期間,您通常可以使用自己的 Azure 認證,而不是應用程式在生產環境中使用的認證,但在容器環境中需要這些認證,才能對執行容器化應用程式有幫助。

從 Visual Studio 2022 版本 17.6 開始,在單一容器和 Docker Compose 專案中,權杖 Proxy 服務會在您的容器中部署並執行,以協助您的應用程式和服務在 Azure 中驗證。 功能需要 Azure Identity 1.9.0 或更新版本。 啟用此服務時,您可以自動使用大部分的 Azure 服務,而不需要在容器內進行任何其他組態或設定。 具體而言,您的程式碼可以使用 DefaultAzureCredentialVisualStudioCredential,以與容器外部相同的方式向 Azure 服務進行驗證。 請參閱 Azure Identity 1.9.0 讀我檔案

若要停用此功能,請將 [工具]>[選項] 設定 [在容器中執行服務以啟用 Azure 驗證] (本文稍早所述) 設定為 False

警告

如果您使用權杖 Proxy 並已啟用特定容器工具診斷記錄,可能會有安全性疑慮。 啟用記錄時,可以將驗證認證記錄為純文字。 您可以依據特定環境變數來啟用這些記錄。 對於單一容器專案,環境變數是 MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED,然後記錄於 %tmp%\Microsoft.VisualStudio.Containers.Tools 中。 針對 Docker Compose 專案,其為 MS_VS_DOCKER_TOOLS_LOGGING_ENABLED,然後記錄於 %tmp%\Microsoft.VisualStudio.DockerCompose.Tools 中。

在此概觀中深入了解如何在 Visual Studio 中使用容器。