Dela via


Anpassa containervolymkartläggning

För att felsökning ska fungera i containrar använder Visual Studio volymmappning för att mappa felsökningsprogram och NuGet från värddatorn. Volymmappning beskrivs i Docker-dokumentationen här. Du kan visa volymmappningarna för en container med hjälp av fönstret Containers i Visual Studio.

Förutsättningar

Montering av volymer i Visual Studio-containerbilder

Här är de volymer som är monterade i din container.

Volym Beskrivning
App-mapp Innehåller projektmappen där Dockerfile finns.
NuGet-paketmappar Innehåller NuGet-paket och reservmappar som läses från obj{project}.csproj.nuget.g.props filen i projektet.
Fjärravlusare Innehåller de bitar som krävs för att köra felsökningsprogrammet i containern beroende på projekttyp. Se Anpassa containeravbildningar för felsökning.
Källmapp Innehåller byggkontexten som skickas till Docker-kommandon.

Här är de volymer som är monterade i containern. Det du ser i dina containrar kan variera beroende på den delversion av Visual Studio 2022 som du använder.

Volym Beskrivning
App-mapp Innehåller projektmappen där Dockerfile finns.
NuGet-paketmappar Innehåller NuGet-paket och reservmappar som läses in från filen obj{project}.csproj.nuget.g.props i projektet.
Fjärrfelsökare Innehåller de bitar som krävs för att köra felsökningsprogrammet i containern beroende på projekttyp. Mer information finns i Anpassa containeravbildningar för felsökning av.
Källmapp Innehåller byggkontexten som skickas till Docker-kommandon.
VSTools Innehåller Visual Studio-verktyg som stöder arbete med containern, inklusive stöd för felsökningsprogrammet, fönstret Containers, hantering av Azure-token, hot reload-agenten och den distrolösa hjälpen.

För .NET 8 kan det också finnas ytterligare monteringspunkter i roten och för appanvändaren som innehåller användarhemligheter och HTTPS-certifikatet.

Not

Visual Studio 17.10 Om du använder Docker Engine i Windows Undersystem för Linux (WSL) utan Docker Desktop anger du miljövariabeln VSCT_WslDaemon=1 att Visual Studio ska använda WSL-sökvägar när du skapar volymmonteringar. NuGet-paketet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1 krävs också.

För ASP.NET kärnwebbappar kan det finnas ytterligare två mappar för SSL-certifikatet och användarhemligheterna, vilket beskrivs mer detaljerat i Använda SSL för ASP.NET Core-appar i containrar

Montera en containervolym

Du kan montera en annan volym med hjälp av docker run kommandoradsargument.

  1. Öppna projektfilen för det containerbaserade projektet.

  2. Om du vill ange ett nytt kommandoradsargument lägger du till egenskapen MSBuild DockerfileRunArgumentsoch anger syntaxen -v eller --mount. Följande syntax skapar till exempel en volym myvolume och monterar den i containern i mappen /scratch.

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

    Se Docker-dokumentationen för kommandoradssyntaxen för alternativen -v eller --mount.