共用方式為


Visual Studio 容器工具

Visual Studio 中包含的工具,可使用 DockerPodman 容器進行開發,可大幅簡化容器化應用程式的建置、偵錯和部署。 您可以使用容器來處理單一專案,或使用 Docker Compose 進行容器編排。

Visual Studio 中包含的用於使用 Docker 容器進行開發的工具可大幅簡化容器化應用程式的建置、偵錯和部署。 您可以使用單一專案的容器,或搭配 Docker ComposeService Fabric 使用容器協調流程來處理容器中的多個服務。

先決條件

Visual Studio 中的 Docker 支援

Docker 支援適用於 ASP.NET 專案、ASP.NET Core 專案,以及 .NET Core 和 .NET Framework 控制台專案。

Visual Studio 中 Docker 的支援已隨著數個版本而變更,以因應客戶需求。 您可以新增至專案的 Docker 支援層級有兩種,而支援的選項會因專案類型和 Visual Studio 版本而有所不同。 使用某些支援的項目類型時,如果您只想要單一專案的容器,而不需使用協調流程,您可以藉由新增 Docker 支援來執行此動作。 下一個層級是容器協調流程支援,這會為您選擇的特定協調器新增適當的支持檔案。

使用 Visual Studio 2019,您可以使用 Docker Compose、Kubernetes 和 Service Fabric 作為容器協調流程服務。

在 Visual Studio 2019 16.4 版和更新版本中,容器 視窗可供使用,可讓您檢視執行中的容器、流覽可用的映射、檢視環境變數、記錄和埠對應、檢查文件系統、附加調試程式,或在容器環境內開啟終端機視窗。 請參閱 使用 [容器] 視窗

先決條件

Visual Studio 中的容器支援

容器支援適用於 ASP.NET Core 專案,以及 .NET Core (和 .NET 5 和更新版本) 主控台專案。 目前版本的 Visual Studio 不支援 .NET Framework 專案。

如果您只想要單一專案的容器,而不使用協調流程,您可以透過新增容器支援來做到這一點。 您可以選擇Docker或Podman作為容器平台,無需更改專案即可輕鬆切換。 下一個層級是 Container Compose 支援,它會為 Docker Compose 新增適當的支援檔案。 (不支援 Podman Compose。

當您將容器支援新增至 .NET 7 或更新版本的專案時,您可以選擇兩種容器組建類型來新增容器支援。 您可以選擇新增 Dockerfile 來指定如何建置容器映像,或者您可以選擇使用 .NET SDK 所提供的內建容器支援。

容器」 視窗可讓您檢視執行中的容器、瀏覽可用的映像、檢視環境變數、日誌和連接埠對應、檢查檔案系統、附加偵錯工具,或在容器環境中開啟終端機視窗。 請參閱 使用 [容器] 視窗

先決條件

Visual Studio 中的 Docker 支援

Docker 支援適用於 ASP.NET 專案、ASP.NET Core 專案,以及 .NET Core 和 .NET Framework 控制台專案。

Visual Studio 中 Docker 的支援已隨著數個版本而變更,以因應客戶需求。 有數個選項可將 Docker 支援新增至專案,而支援的選項會因專案類型和 Visual Studio 版本而有所不同。 使用某些支援的項目類型時,如果您只想要單一專案的容器,而不需使用協調流程,您可以藉由新增 Docker 支援來執行此動作。 下一個層級是容器協調流程支援,這會為您選擇的特定協調器新增適當的支持檔案。

使用 Visual Studio 2022 17.9 版和更新版本時,當您將 Docker 支援新增至 .NET 7 或更新版本專案時,您有兩個容器組建類型可供選擇以新增 Docker 支援。 您可以選擇新增 Dockerfile 來指定如何建置容器映像,或者您可以選擇使用 .NET SDK 所提供的內建容器支援。

此外,當您選擇容器協調流程時,使用 Visual Studio 2022 和更新版本時,可以使用 Docker Compose 或 Service Fabric 作為容器協調流程服務。

在 Visual Studio 2022 中,容器 視窗可供使用,可讓您檢視執行中的容器、流覽可用的映像、檢視環境變數、記錄和埠對應、檢查文件系統、附加調試程式,或開啟容器環境內的終端機視窗。 請參閱 使用 [容器] 視窗

若要建立具有容器支援的專案,或將容器支援新增至現有專案,請參閱 新增容器支援

若要建立具有 Docker 支援的專案,或將 Docker 支援新增至現有專案,請參閱 新增容器支援

注意

Docker 的授權需求可能會因不同版本的 Docker Desktop 而有所不同。 請參閱 Docker 檔,以瞭解目前在您的情況中使用 Docker Desktop 版本進行開發的授權需求。

Visual Studio 中的 Podman 支援

Visual Studio 支援 Podman 容器,這是一種流行的容器管理工具,可提供無守護程式容器引擎。 您可以直接從 Visual Studio 使用 Podman CLI 來執行和管理容器。 您可以使用 Podman 以與 Docker 相同的方式執行單一容器應用程式。

若要使用 Podman 容器,請從 CLI 啟動 podman,然後在 Visual Studio 中開啟您的解決方案。 依預設,容器工具會自動偵測 Podman 或 Docker 是否正在執行,並在您啟動應用程式時使用目前作用中的容器執行階段。 若要手動設定容器執行階段,請移至 工具 > 選項 > 容器工具 > 容器執行階段 ,然後選取 PodmanDocker。 預設設定為 [自動],這表示 Visual Studio 會嘗試偵測目前作用中的容器執行階段。 關閉「 工具 > 選項」 視窗以認可設定變更。

容器視窗

[容器] 視窗可讓您檢視計算機上的容器和映射,並查看其運作方式。 您可以檢視文件系統、已掛接的磁碟區、環境變數、使用的埠,以及檢查記錄檔。

使用快速啟動來開啟 [容器] 視窗(Ctrl+Q),然後輸入 containers。 您可以使用停靠控制將視窗放置在特定位置。 由於窗口的寬度,將其固定在螢幕底部時效果最佳。

選取容器,並使用索引標籤來檢視可用的資訊。 若要查看,請執行您的已啟用 Docker 的應用程式、開啟 [檔案] 索引標籤,然後展開 [應用程式] 資料夾,以檢視容器上已部署的應用程式。

截圖顯示容器視窗。

[容器] 視窗的螢幕快照。

[容器] 視窗的螢幕快照。

如需詳細資訊,請參閱 使用 [容器] 視窗

Docker Compose 支援

當您想要使用 Docker Compose 撰寫多容器解決方案時,請將容器協調器支援新增至您的專案。 這能讓您在同一個 docker-compose.yml 檔案中定義的容器群組(整個解決方案或專案群組),同時進行執行與偵錯。

若要使用 Docker Compose 新增容器編排器支援,請在 解決方案總管中右鍵點擊應用程式,然後選擇 新增>容器組合支援

若要使用 Docker Compose 新增容器協調器支援,請以滑鼠右鍵按兩下 [方案總管] 中的項目節點,然後選擇 [新增 > 容器 Orchestrator 支援]。 然後選擇 [Docker Compose 來管理容器。

在將容器協調器支援新增至專案後,您會看到一個 Dockerfile 已新增至專案(如果之前沒有的話),以及一個 docker-compose 資料夾新增至 方案總管中的方案,如下所示:

Docker 檔案的截圖顯示於解決方案總管中。

Visual Studio 中方案總管中 Docker 檔案的螢幕快照。

Visual Studio 中方案總管中 Docker 檔案的螢幕快照。

如果 docker-compose.yml 已經存在,Visual Studio 只會將所需的組態程式代碼行加入其中。

對您想要使用 Docker Compose 控制的其他項目,重複此過程。

如果您使用大量的服務,您可以選取您要在偵錯會話中啟動的服務子集,以節省時間和計算資源。 請參閱 啟動 Compose 服務的子集

注意

Visual Studio 工具不支援遠端 Docker 主機。

Service Fabric 支援

Service Fabric 應用程式專案已在 Visual Studio 2026 中移除,並將成為 Visual Studio 延伸模組。 如需可用性狀態,請參閱此 GitHub 問題

在 Visual Studio 中使用 Service Fabric 工具,您可以開發及偵錯 Azure Service Fabric、在本機執行和偵錯,以及部署至 Azure。

Visual Studio 2019 與 Visual Studio 2022 支援使用 Windows 容器與 Service Fabric 編排來開發容器化微服務。

如需詳細的教學課程,請參閱 教學課程:將 Windows 容器中的 .NET 應用程式部署至 Azure Service Fabric

如需 Azure Service Fabric 的詳細資訊,請參閱 Service Fabric

持續傳遞和持續整合 (CI/CD)

Visual Studio 可輕易地與 Azure Pipelines 整合,以自動化且持續整合,並將變更傳遞至您的服務程式代碼和組態。 若要開始使用,請參閱 建立您的第一個流程

如需 Service Fabric,請參閱 教學課程:使用 Azure DevOps Projects將 ASP.NET 核心應用程式部署至 Azure Service Fabric。

後續步驟

如需服務實作和使用 Visual Studio 工具以使用容器的進一步詳細數據,請閱讀下列文章:

新增容器支援

Visual Studio 中的容器工具

在本機容器中偵錯應用程式

使用 Visual Studio 將 ASP.NET 容器部署至容器登錄

部署至 Azure App Service

使用 Visual Studio 部署至 Azure Container Apps