Freigeben über


Anpassen der Containervolumezuordnung

Damit das Debuggen in Containern funktioniert, verwendet Visual Studio die Volumezuordnung, um den Debugger und die NuGet-Ordner vom Hostcomputer zuzuordnen. Die Volumezuordnung ist in der Dokumentation zu Docker beschrieben. Sie können die Volumezuordnungen für einen Container anzeigen, indem Sie das Fenster Container in Visual Studio verwenden.

Voraussetzungen

Volumebereitstellungen in Visual Studio-Containerimages

Hier sind die Volumes, die in Ihrem Container bereitgestellt werden:

Lautstärke Beschreibung
App-Ordner Enthält den Projektordner, in dem sich die Dockerfile befindet.
Ordner mit NuGet-Paketen Enthalten die NuGet-Pakete und Fallbackordner, die aus der Datei obj{project}.csproj.nuget.g.props in das Projekt eingelesen werden.
Remotedebugger Enthält die Bits, die abhängig vom Projekttyp erforderlich sind, um den Debugger im Container auszuführen. Siehe Anpassen von Containerimages für das Debuggen.
Quellordner Enthält den Buildkontext, der an Docker-Befehle übergeben wird.

Hier sind die Volumes, die in Ihrem Container bereitgestellt werden. Was in Ihren Containern angezeigt wird, hängt möglicherweise von der Nebenversion von Visual Studio 2022, die Sie verwenden, ab.

Lautstärke Beschreibung
App-Ordner Enthält den Projektordner, in dem sich die Dockerfile befindet.
Ordner mit NuGet-Paketen Enthalten die NuGet-Pakete und Fallbackordner, die aus der Datei obj{project}.csproj.nuget.g.props in das Projekt eingelesen werden.
Remotedebugger Enthält die Bits, die abhängig vom Projekttyp erforderlich sind, um den Debugger im Container auszuführen. Weitere Informationen finden Sie unter Anpassen von Containerimages für das Debuggen.
Quellordner Enthält den Buildkontext, der an Docker-Befehle übergeben wird.
VSTools Enthält Visual Studio-Tools, die das Arbeiten mit dem Container unterstützen, einschließlich Unterstützung für den Debugger, das Fenster Container, die Behandlung von Azure-Token, den Hot Reload-Agent und das Hilfsprogramm ohne Distribution.

Bei .NET 8 können auch zusätzliche Einhängepunkte bei Root und für den App-Benutzer vorhanden sein, die Benutzergeheimnisse und das HTTPS-Zertifikat enthalten.

Hinweis

Visual Studio 17.10 Wenn Sie im Windows-Subsystem für Linux (WSL) die Docker-Engine ohne Docker Desktop verwenden, legen Sie die Umgebungsvariable VSCT_WslDaemon=1 fest, damit Visual Studio beim Erstellen von Volumebereitstellungen WSL-Pfade verwendet. The NuGet package Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Vorschau 1 ist ebenfalls erforderlich.

Bei ASP.NET Core-Web-Apps gibt es möglicherweise zwei zusätzliche Ordner für das SSL-Zertifikat und die Benutzergeheimnisse. Dies wird unter Verwenden von SSL für containerisierte ASP.NET Core-Apps ausführlicher erläutert.

Bereitstellen eines Containervolumes

Sie können ein anderes Volume mithilfe von docker run-Befehlszeilenargumenten bereitstellen.

  1. Öffnen Sie die Projektdatei für das containerisierte Projekt.

  2. Um ein neues Befehlszeilenargument anzugeben, fügen Sie die MSBuild-Eigenschaft DockerfileRunArguments hinzu, und stellen Sie die -v- oder --mount-Syntax bereit. Mit der folgenden Syntax wird beispielsweise ein myvolume-Volume erstellt und im Container im Ordner /scratch bereitgestellt.

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

    Die Befehlszeilensyntax für die Optionen -v oder --mount finden Sie in der Docker-Dokumentation.