Udostępnij przez


Dostosowywanie mapowania woluminu kontenera

Aby debugowanie działało w kontenerach, program Visual Studio używa mapowania woluminów do mapowania folderów debuggera i NuGet z maszyny hosta. Mapowanie woluminów zostało opisane w dokumentacji platformy Docker tutaj. Mapowania woluminów dla kontenera można wyświetlić przy użyciu okna kontenerów w programie Visual Studio.

Warunki wstępne

  • Docker Desktop lub Podman Desktop.
  • Visual Studio, lub aby uzyskać obsługę Podman, Visual Studio 2026 z zainstalowanym pakietem roboczym ASP.NET i tworzenie aplikacji internetowych, pakietem roboczym Tworzenie aplikacji na platformie Azure i/lub pakietem roboczym tworzenie aplikacji klasycznych platformy .NET.
  • Docker Desktop.
  • Program Visual Studio, który ma zainstalowane pakiety do tworzenia ASP.NET i aplikacji internetowych, rozwoju aplikacji na platformie Azure, i/lub rozwoju aplikacji desktopowych .NET.

Instalowanie woluminów w obrazach kontenerów programu Visual Studio

Oto volumeny zamontowane w Twoim kontenerze. Elementy widoczne w kontenerach mogą się różnić w zależności od używanej wersji pomocniczej programu Visual Studio.

Głośność Opis
folderu aplikacji Zawiera folder projektu, w którym znajduje się plik Dockerfile.
Folders pakietów NuGet Zawiera pakiety NuGet i foldery rezerwowe odczytywane z pliku obj{project}.csproj.nuget.g.props w projekcie.
Zdalny debugger Zawiera bity wymagane do uruchomienia debugera w kontenerze w zależności od typu projektu. Aby uzyskać więcej informacji, zobacz Dostosowywanie obrazów kontenerów na potrzeby debugowania.
folder źródłowy Zawiera kontekst kompilacji przekazywany do poleceń Docker.
VSTools Zawiera narzędzia programu Visual Studio umożliwiające pracę z kontenerem, w tym obsługę debugera, okno kontenerów , obsługę tokenów Azure, agenta Hot Reload oraz pomocnika Distroless.

W przypadku platformy .NET 8 mogą być również obecne dodatkowe punkty montowania w katalogu głównym oraz dla użytkownika aplikacji, które zawierają tajne wpisy użytkownika oraz certyfikat HTTPS.

Notatka

Jeśli używasz Docker Engine w systemie Windows Subsystem for Linux (WSL) bez programu Docker Desktop, ustaw zmienną środowiskową VSCT_WslDaemon=1, aby program Visual Studio używał ścieżek WSL podczas tworzenia punktów montowania woluminów. Wymagany jest również pakiet NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.

Oto volumeny zamontowane w Twoim kontenerze. Elementy widoczne w kontenerach mogą się różnić w zależności od używanej wersji pomocniczej programu Visual Studio 2022.

Głośność Opis
folderu aplikacji Zawiera folder projektu, w którym znajduje się plik Dockerfile.
Folders pakietów NuGet Zawiera pakiety NuGet i foldery rezerwowe odczytywane z pliku obj{project}.csproj.nuget.g.props w projekcie.
Zdalny debugger Zawiera bity wymagane do uruchomienia debugera w kontenerze w zależności od typu projektu. Aby uzyskać więcej informacji, zobacz Dostosowywanie obrazów kontenerów na potrzeby debugowania.
folder źródłowy Zawiera kontekst kompilacji przekazywany do poleceń Docker.
VSTools Zawiera narzędzia programu Visual Studio umożliwiające pracę z kontenerem, w tym obsługę debugera, okno kontenerów , obsługę tokenów Azure, agenta Hot Reload oraz pomocnika Distroless.

W przypadku platformy .NET 8 mogą być również obecne dodatkowe punkty montowania w katalogu głównym oraz dla użytkownika aplikacji, które zawierają tajne wpisy użytkownika oraz certyfikat HTTPS.

Notatka

Program Visual Studio 17.10 lub nowszy Jeśli używasz Docker Engine w podsystemie Windows dla systemu Linux (WSL) bez Docker Desktop, ustaw zmienną środowiskową VSCT_WslDaemon=1, aby Visual Studio używał ścieżek WSL podczas montowania woluminów. Wymagany jest również pakiet NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.

W przypadku ASP.NET Core aplikacji internetowych mogą istnieć dwa dodatkowe foldery dla certyfikatu SSL i tajnych danych użytkownika, co wyjaśniono bardziej szczegółowo w artykule Używanie protokołu SSL dla konteneryzowanych aplikacji ASP.NET Core

Zamontuj wolumin kontenera

Można zainstalować inny wolumin przy użyciu argumentów wiersza polecenia docker run.

  1. Otwórz plik projektu dla projektu konteneryzowanego.

  2. Aby określić nowy argument wiersza polecenia, dodaj właściwość MSBuild DockerfileRunArgumentsi podaj składnię -v lub --mount. Na przykład następująca składnia tworzy wolumin myvolume i instaluje go w kontenerze w folderze /scratch.

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

    Zapoznaj się z dokumentacją platformy Docker dotyczącą składni wiersza polecenia dla opcji -v lub --mount.

Można zainstalować inny wolumin, określając argumenty wiersza polecenia dla środowiska uruchomieniowego kontenera, docker.exe lub podman.exe.

  1. Otwórz launchSettings.json dla konteneryzowanego projektu.

  2. Aby określić nowy argument wiersza polecenia, dodaj kod JSON containerRunArgumentsi podaj składnię -v or --mount . Na przykład następująca składnia tworzy wolumin myvolume i instaluje go w kontenerze w folderze /scratch.

    "containerRunArguments": "-v myvolume:/scratch"
    

    Zapoznaj się z dokumentacją dostawcy środowiska uruchomieniowego kontenera, aby zapoznać się ze składnią wiersza polecenia dla opcji -v platformy Docker lub --mount albo opcji Podman -v oraz opcji Podman --mount.