自定義容器磁碟區映射
為了在容器中進行偵錯,Visual Studio 會使用磁碟區對應來從主機映射偵錯工具和 NuGet 資料夾。 在 Docker 文件 中有關於磁碟區映射的說明。 您可以使用 Visual Studio 中的 [容器] 視窗來檢視容器的磁碟區對應。
先決條件
- Docker Desktop
- 已安裝 Visual Studio 2019 或更新版本,搭配 Web Development、Azure Tools 和/或 .NET 桌面開發 的工作負載
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
掛接另一個磁碟區。
開啟容器化專案的項目檔。
若要指定新的命令行自變數,請新增 MSBuild 屬性
DockerfileRunArguments
,並提供-v
或--mount
語法。 例如,下列語法會建立磁碟區myvolume
,並將其掛接到容器中的資料夾/scratch
。<PropertyGroup> <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments> </PropertyGroup>
如需 -v 或 --mount 選項的命令行語法,請參閱 Docker 檔。
相關內容
- 在Visual Studio 中自定義 Docker 容器
- Dockerfile 在 Windows 上
- 在 Windows 上 Linux 容器