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
- Docker Desktop
- Visual Studio 2019 eller senare med arbetsbelastningen Web Development, Azure Tools och/eller .NET-skrivbordsutveckling installerad
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.
Öppna projektfilen för det containerbaserade projektet.
Om du vill ange ett nytt kommandoradsargument lägger du till egenskapen MSBuild
DockerfileRunArguments
och anger syntaxen-v
eller--mount
. Följande syntax skapar till exempel en volymmyvolume
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.