Delen via


Containervolume aanpassen

Visual Studio maakt voor het debuggen in containers gebruik van volumetoewijzing om het foutopsporingsprogramma en de NuGet-mappen op de hostcomputer in kaart te brengen. Volumetoewijzing wordt beschreven in de Docker-documentatie hier. U kunt de volumetoewijzingen voor een container weergeven met behulp van het venster Containers in Visual Studio.

Voorwaarden

  • Docker Desktop-.
  • Visual Studio met de workload voor ASP.NET en webontwikkeling, Azure-ontwikkelworkload en/of .NET-desktopontwikkeling geïnstalleerd.

Volumekoppelingen in Visual Studio-containerinstallatiekopieën

Dit zijn de volumes die zijn gekoppeld aan uw container. Wat u in uw containers ziet, kan verschillen, afhankelijk van de secundaire versie van Visual Studio die u gebruikt.

Volume Beschrijving
app-map Bevat de projectmap waar het Dockerfile zich bevindt.
Mappen met NuGet-pakketten Bevat de NuGet-pakketten en terugvalmappen die worden gelezen uit de obj{project}.csproj.nuget.g.props bestand in het project.
externe foutopsporingsprogramma Bevat de bits die nodig zijn om het foutopsporingsprogramma in de container uit te voeren, afhankelijk van het projecttype. Voor meer informatie, zie Containerafbeeldingen aanpassen voor foutopsporing.
de bronmap Bevat de buildcontext die wordt doorgegeven aan Docker-opdrachten.
VSTools- Bevat Visual Studio-hulpprogramma's die ondersteuning bieden voor het werken met de container, waaronder ondersteuning voor het foutopsporingsprogramma, het venster Containers, het verwerken van Azure-tokens, de Hot Reload-agent en de Helper voor distributieloos.

Voor .NET 8 en hoger kunnen er ook extra koppelpunten bij de root en voor de app-gebruiker zijn die gebruikersgeheimen en het HTTPS-certificaat bevatten.

Notitie

Als u Docker Engine gebruikt in het Windows-subsysteem voor Linux (WSL) zonder Docker Desktop, stelt u de omgevingsvariabele VSCT_WslDaemon=1 in zodat Visual Studio WSL-paden gebruikt wanneer volume-koppelingen worden gemaakt. Het NuGet-pakket Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1 is ook vereist.

Dit zijn de volumes die zijn gekoppeld aan uw container. Wat u in uw containers ziet, kan verschillen, afhankelijk van de secundaire versie van Visual Studio 2022 die u gebruikt.

Volume Beschrijving
app-map Bevat de projectmap waar het Dockerfile zich bevindt.
Mappen met NuGet-pakketten Bevat de NuGet-pakketten en terugvalmappen die worden gelezen uit de obj{project}.csproj.nuget.g.props bestand in het project.
externe foutopsporingsprogramma Bevat de bits die nodig zijn om het foutopsporingsprogramma in de container uit te voeren, afhankelijk van het projecttype. Voor meer informatie, zie Containerafbeeldingen aanpassen voor foutopsporing.
de bronmap Bevat de buildcontext die wordt doorgegeven aan Docker-opdrachten.
VSTools- Bevat Visual Studio-hulpprogramma's die ondersteuning bieden voor het werken met de container, waaronder ondersteuning voor het foutopsporingsprogramma, het venster Containers, het verwerken van Azure-tokens, de Hot Reload-agent en de Helper voor distributieloos.

Voor .NET 8 en later kunnen er ook extra koppelpunten in de hoofdmap en voor de app-gebruiker aanwezig zijn, die gebruikersgeheimen en het HTTPS-certificaat kunnen bevatten.

Notitie

Visual Studio 17.10 en hoger Als u Docker Engine gebruikt in het Windows-subsysteem voor Linux (WSL) zonder Docker Desktop, stelt u de omgevingsvariabele VSCT_WslDaemon=1 in op WSL-paden voor Visual Studio bij het maken van volumekoppelingen. Het NuGet-pakket Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1 is ook vereist.

Voor ASP.NET kernweb-apps zijn er mogelijk twee extra mappen voor het SSL-certificaat en de gebruikersgeheimen. Dit wordt in meer detail uitgelegd in SSL gebruiken voor in containers geplaatste ASP.NET Core-apps

Een containervolume koppelen

U kunt een ander volume koppelen met behulp van de docker run-opdrachtregelargumenten.

  1. Open het projectbestand voor het containerproject.

  2. Als u een nieuw opdrachtregelargument wilt opgeven, voegt u de eigenschap MSBuild toe DockerfileRunArgumentsen geeft u de -v of --mount syntaxis op. De volgende syntaxis maakt bijvoorbeeld een volume myvolume en koppelt deze in de container in de map /scratch.

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

    Raadpleeg de Docker-documentatie voor de opdrachtregelsyntaxis voor de -v- of --koppelopties.

U kunt een ander volume koppelen door opdrachtregelargumenten op te geven voor de containerruntime, docker.exe of podman.exe.

  1. Open launchSettings.json voor het containerproject.

  2. Als u een nieuw opdrachtregelargument wilt opgeven, voegt u de JSON containerRunArgumentstoe en geeft u de -v of --mount syntaxis op. De volgende syntaxis maakt bijvoorbeeld een volume myvolume en koppelt deze in de container in de map /scratch.

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

    Raadpleeg de documentatie van de containerruntimeprovider voor de opdrachtregelsyntaxis voor de Docker--v- of --mount-opties , of de optie Podman -v en de optie Podman --mount.