共用方式為


自定義容器磁碟區映射

為了在容器中進行偵錯,Visual Studio 會使用磁碟區對應來從主機映射偵錯工具和 NuGet 資料夾。 在 Docker 文件 中有關於磁碟區映射的說明。 您可以使用 Visual Studio 中的 [容器] 視窗來檢視容器的磁碟區對應。

先決條件

Visual Studio 容器映射中的磁碟區掛接

以下是容器中掛接的磁碟區:

音量/容量/體積 描述
應用程式資料夾 包含 Dockerfile 所在的項目資料夾。
NuGet 套件資料夾 包含從專案中 obj{project}.csproj.nuget.g.props 檔案讀取的 NuGet 套件和後援資料夾。
遠端調試程式 包含視專案類型而定,在容器中執行調試程式所需的位。 請參閱 自定義容器映射以進行偵錯
源資料夾 包含傳遞至 Docker 命令的組建內容。

以下是裝載於容器中的磁碟區。 您在容器中看到的內容可能會因您使用的 Visual Studio 2022 次要版本而有所不同。

描述
應用程式資料夾 包含 Dockerfile 所在的項目資料夾。
NuGet 套件資料夾 包含從專案中 obj{project}.csproj.nuget.g.props 檔案讀取的 NuGet 套件和後援資料夾。
遠端調試程式 包含視專案類型而定,在容器中執行調試程式所需的位。 如需詳細資訊,請參閱 自定義容器映像以進行偵錯
源資料夾 包含傳遞至 Docker 命令的組建內容。
VSTools 包含適用於容器工作的 Visual Studio 工具,包括支援調試器、容器 視窗、處理 Azure 令牌、熱重載代理和無基礎映像協助工具。

在 .NET 8 中,根目錄和應用程式使用者的其他掛載點可能會存在,這些掛載點包含使用者秘密與 HTTPS 憑證。

注意

Visual Studio 17.10 如果您在沒有 Docker Desktop 的 Windows 子系統 (WSL) 中使用 Docker 引擎,請設定環境變數,使 Visual Studio 在建立磁碟區掛接時使用 WSL 路徑 VSCT_WslDaemon=1。 也需要 nuGet 套件 Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1

針對 ASP.NET 核心 Web 應用程式,SSL 憑證和用戶密碼可能會有兩個額外的資料夾,詳細說明 使用 SSL 進行容器化 ASP.NET 核心應用程式

掛載容器磁碟區

您可以使用命令行自變數 docker run 掛接另一個磁碟區。

  1. 開啟容器化專案的項目檔。

  2. 若要指定新的命令行自變數,請新增 MSBuild 屬性 DockerfileRunArguments,並提供 -v--mount 語法。 例如,下列語法會建立磁碟區 myvolume,並將其掛接到容器中的資料夾 /scratch

    <PropertyGroup>
       <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments>
    </PropertyGroup>
    

    如需 -v 或 --mount 選項的命令行語法,請參閱 Docker 檔。