自訂容器磁碟區對應
為了在容器中執行偵錯,Visual Studio 會使用磁碟區對應從主機機器中對應偵錯工具和 NuGet 資料夾。 此處的 Docker 文件中有磁碟區對應的說明。 您可以使用 Visual Studio 中的容器視窗來檢視容器的磁碟區對應。
必要條件
- Docker Desktop
- 已安裝網頁程式開發、Azure Tools 工具負載,和/或 .NET 桌面開發工作負載的 Visual Studio 2019 或更新版本
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
命令行引數掛接另一個磁碟區。
開啟容器化專案的專案檔。
若要指定新的命令行引數,請新增 MSBuild 屬性
DockerfileRunArguments
,並提供-v
或--mount
語法。 例如,下列語法會建立磁碟區myvolume
,並將它掛接在資料夾/scratch
中的容器。<PropertyGroup> <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments> </PropertyGroup>
如需 -v 或 --mount 選項的命令行語法,請參閱 Docker 文件。