共用方式為


自訂容器磁碟區對應

為了在容器中執行偵錯,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 權杖、熱重新載入代理程式,以及 Distroless Helper。

針對 .NET 8,可能也會存在位於根目錄、適用於應用程式使用者且包含使用者秘密和 HTTPS 憑證的額外掛接點。

注意

Visual Studio 17.10 如果在沒有 Docker Desktop 的 Windows 子系統 Linux 版 (WSL) 中使用 Docker 引擎,請設定環境變數VSCT_WslDaemon=1,讓 Visual Studio 可以在建立磁碟區掛接時使用 WSL 路徑。 還需要 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 文件。