您可以使用 容器工具 設定來控制 Visual Studio 如何與 Docker 容器搭配運作的一些層面。 本文說明如何在使用 Docker 容器時,設定可能會影響 Visual Studio 效能和資源使用量的 容器工具 設定。
容器工具設定
若要存取設定,請從主要 Visual Studio 功能選取 [工具 > 選項 ]。 在左窗格中,向下捲動並展開 [容器工具]。
一般設定
下表描述 一般 設定:
設定 | 預設值 | 說明 |
---|---|---|
視需要安裝 Docker Desktop | 提示我 | 選擇是否要在未安裝 Docker Desktop 時提示您。 |
視需要啟動 Docker Desktop | 永遠 | 如果未啟動 Docker Desktop,請選擇是否要自動啟動,還是要提示您。 |
信任 ASP.NET 核心 SSL 憑證 | 提示我 | 請選擇是否要在 ASP.NET Core 專案中提示不受信任的 localhost SSL 憑證。 |
下表描述 一般 設定:
設定 | 預設值 | 說明 |
---|---|---|
視需要安裝 Docker Desktop | 提示我 | 選擇是否要在未安裝 Docker Desktop 時提示您。 |
視需要啟動 Docker Desktop | 提示我 | 如果未啟動 Docker Desktop,請選擇是否要自動啟動,還是要提示您。 |
信任 ASP.NET 核心 SSL 憑證 | 提示我 | 請選擇是否要在 ASP.NET Core 專案中提示不受信任的 localhost SSL 憑證。 |
這很重要
如果您將 [信任] ASP.NET [核心 SSL 憑證 ] 設定為 [ 永 不],且 localhost
SSL 憑證不受信任,HTTPS Web 要求可能會在運行時間失敗。 在這種情況下,請將 信任 ASP.NET Core SSL 憑證 設定為 提示我,並執行您的專案,在出現提示時指明信任。
單一專案或 Docker Compose 設定
容器工具 單一專案 和 Docker Compose 設定完全相同。
下表描述 單一專案 和 Docker Compose 設定:
設定 | 預設值 | 說明 |
---|---|---|
在項目開啟時提取必要的 Docker 映像 | 對 | 載入容器專案時,是否要啟動背景 Docker 提取作業。 必要的圖像會在您準備好執行程式碼時已下載或正在下載。 如果您只想瀏覽程式代碼,您可以將 設定為 False ,以避免下載您不需要的容器映像。 |
在項目開啟時提取更新的 Docker 映像 | .NET Core 專案 | 是否要為所有開放項目的映像執行 Docker pull,以更新至最新版本。 |
在項目開啟時執行容器 | 對 | 是否要在載入專案時建立容器,以便在建置和執行時準備就緒。 如果您想要控制建立容器的時間,請將 設定為 False。 |
在項目關閉時移除容器 | 對 | 在關閉方案或關閉 Visual Studio 之後,是否要移除方案的容器。 |
設定 | 預設值 | 說明 |
---|---|---|
在項目開啟時提取必要的 Docker 映像 | 對 | 載入容器專案時,是否要啟動背景 Docker 提取作業。 必要的圖像會在您準備好執行程式碼時已下載或正在下載。 如果您只想瀏覽程式代碼,您可以將 設定為 False ,以避免下載您不需要的容器映像。 |
在項目開啟時提取更新的 Docker 映像 | .NET Core 專案 | 是否要為所有開放項目的映像執行 Docker pull,以更新至最新版本。 |
在項目開啟時執行容器 | 對 | 是否要在載入專案時建立容器,以便在建置和執行時準備就緒。 如果您想要控制建立容器的時間,請將 設定為 False。 |
在項目關閉時移除容器 | 對 | 在關閉方案或關閉 Visual Studio 之後,是否要移除方案的容器。 |
在容器中執行服務以啟用 Azure 驗證 | 對 | 針對 Visual Studio 17.6 版或更新版本,是否要在容器中安裝和執行令牌 Proxy 服務,以啟用 Azure 驗證。 此服務可讓您的應用程式在開發期間使用 Azure 服務。 如需詳細資訊,請參閱 設定 Azure 驗證 一節。 |
在容器中執行服務以啟用熱重載 | 對 | 針對 Visual Studio 17.7 版和更新版本,是否要安裝並執行熱重載服務。 此服務僅支持在沒有偵錯的情況下執行 ,Ctrl+F5。 |
容器工具窗口設定
[容器工具視窗] 設定會套用至 Visual Studio IDE 中的 [容器] 視窗,其中顯示 Docker 容器和映像的相關信息。 如需詳細資訊,請參閱 使用 [容器] 視窗。
下表描述 容器工具視窗 設定:
設定 | 預設值 | 說明 |
---|---|---|
在剪除容器之前確認 | 永遠 | 是否要在清理未使用的容器時提示您。 |
在剪除影像之前確認 | 永遠 | 是否要在刪除未使用的映像時提示您。 |
拿掉容器之前先確認 | 永遠 | 是否要在移除容器時提示您。 |
拿掉映像之前先確認 | 永遠 | 是否要在移除圖片時提醒您。 |
在執行大量映像之前先確認 | 永遠 | 是否要在一次啟動超過10個映像的容器之前提示您。 |
容器視窗設定
[ 容器視窗 ] 設定會套用至 Visual Studio IDE 中的 [ 容器 ] 視窗,其中顯示 Docker 容器和映像的相關信息。 如需詳細資訊,請參閱 使用 [容器] 視窗。
下表描述 容器視窗 設定:
設定 | 預設值 | 說明 |
---|---|---|
在剪除容器之前確認 | 永遠 | 是否要在清理未使用的容器時提示您。 |
在剪除影像之前確認 | 永遠 | 是否要在刪除未使用的映像時提示您。 |
拿掉容器之前先確認 | 永遠 | 是否要在移除容器時提示您。 |
拿掉映像之前先確認 | 永遠 | 是否要在移除圖片時提醒您。 |
在執行大量映像之前先確認 | 永遠 | 是否要在一次啟動超過10個映像的容器之前提示您。 |
在 [容器] 視窗中顯示要使用的字串格式 | 空白 | 在 [容器] 視窗中使用的顯示字串格式,支持 {ContainerName}、{ImageName}、{ProjectName}和 {ContainerID} 令牌。 |
依 Docker Compose 專案將容器分組 | 永遠 | 是否要依 Docker Compose 專案將容器分組。 |
設定 Azure 驗證
如果您的應用程式使用 Azure 服務,則需要適當的認證,才能在容器中執行時向 Azure 服務進行驗證。 您通常可以在開發期間使用自己的 Azure 認證,但若要在容器環境中執行,容器化應用程式需要它在生產環境中所使用的認證。
Visual Studio 2022 17.6 版和更新版本會在單一容器和 Docker Compose 專案中部署和執行 令牌 Proxy 服務,以協助您的應用程式和服務在 Azure 中驗證。 此功能需要 Azure Identity 1.9.0 或更新版本。
啟用此服務后,您可以在容器內自動使用大部分的 Azure 服務,而不需要任何新增的組態或設定。 您的程式代碼可以使用 DefaultAzureCredential
和 VisualStudioCredential
向 Azure 服務進行驗證,方式與容器外部相同。 如需詳細資訊,請參閱 Azure 身分識別 1.9.0 自述檔。
若要停用此功能,請在 [容器工具單一專案] 或 [Docker Compose] 設定中,將 [在容器中執行服務] 設為[False]。
謹慎
使用令牌代理並啟用特定診斷記錄可能帶來潛在的安全性問題。 這些記錄可能會將驗證憑證以純文字格式公開。 下列環境變數會啟用這些記錄:
- 對於單一容器專案,
MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED
會登入%tmp%\Microsoft.VisualStudio.Containers.Tools
。 - 針對 Docker Compose 專案,
MS_VS_DOCKER_TOOLS_LOGGING_ENABLED
它會登入%tmp%\Microsoft.VisualStudio.DockerCompose.Tools
。