Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Containereinstiegspunkt ist ein Prozess, der so konfiguriert ist, dass er ausgeführt wird, wenn ein Container gestartet wird.
Voraussetzungen
- Docker Desktop oder Podman Desktop.
- Visual Studio oder für Podman-Unterstützung , Visual Studio 2026, mit installierter ASP.NET und Webentwicklung, Azure-Entwicklungsarbeitsauslastung und/oder .NET-Desktopentwicklungsworkload .
Voraussetzungen
- Docker Desktop.
- Visual Studio mit installierter ASP.NET- und Webentwicklung, Azure-Entwicklungsarbeitsauslastung und/oder .NET-Desktopentwicklungsworkload .
Einstiegspunkt nach Projekttyp
Visual Studio verwendet je nach Projekttyp und Containerbetriebssystem einen benutzerdefinierten Containereinstiegspunkt: Hier sind die verschiedenen Kombinationen:
| Containertyp | Eingangsstelle |
|---|---|
| Linux-Container | Für .NET 6 und höher ist der Einstiegspunkt dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait. Für .NET 5 und früher ist der Einstiegspunkt tail -f /dev/null. Diese Prozesse verwenden eine unendliche Wartezeit, damit der Container ausgeführt wird, wenn die App nicht ausgeführt wird. Wenn die App gestartet wird, sowohl mit als auch ohne Debugging, ist der Debugger dafür verantwortlich, die App auszuführen (d. h. dotnet webapp.dll) und den Container am Laufen zu halten. |
| Windows-Container | Der Einstiegspunkt ist so etwas wie C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus, womit der Debugger so ausgeführt wird, dass er auf Verbindungen lauscht. Bei .NET Framework-Web-Apps unterscheidet sich der Einstiegspunkt geringfügig, wobei ServiceMonitor dem Befehl hinzugefügt wird. |
| Containertyp | Eingangsstelle |
|---|---|
| Linux-Container | Für .NET 6 und höher ist der Einstiegspunkt dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait. Für .NET 5 und früher ist der Einstiegspunkt tail -f /dev/null. Diese Prozesse verwenden eine unendliche Wartezeit, damit der Container ausgeführt wird, wenn die App nicht ausgeführt wird. Wenn die App gestartet wird, mit oder ohne Debuggen, ist der Debugger für die Ausführung der App verantwortlich (das heißt, dotnet webapp.dll).
DistrolessHelper überwacht den App-Prozess und endet mit dem Exit-Code der App, wenn der App-Prozess beendet wird. |
| Windows-Container | Der Einstiegspunkt ist so etwas wie C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus, womit der Debugger so ausgeführt wird, dass er auf Verbindungen lauscht. |
Der Containereinstiegspunkt kann nur in Docker Compose-Projekten und nicht in Einzelcontainerprojekten geändert werden. Siehe Docker Compose-Eigenschaften – Anpassen des App-Startvorgangs.