Partager via


Définir le point d’entrée du conteneur

Un point d’entrée de conteneur est un processus configuré pour s’exécuter lorsqu’un conteneur est démarré.

Prerequisites

Prerequisites

  • Docker Desktop.
  • Visual Studio avec la charge de travail de développement ASP.NET et web, la charge de travail de développement Azure et/ou la charge de travail de développement de bureau .NET installée.

Point d’entrée par type de projet

Visual Studio utilise un point d’entrée de conteneur personnalisé en fonction du type de projet et du système d’exploitation conteneur, voici les différentes combinaisons :

Type de conteneur Point d’entrée
Conteneurs Linux Pour .NET 6 et versions ultérieures, le point d’entrée est dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait. Pour .NET 5 et versions antérieures, le point d’entrée est tail -f /dev/null. Ces processus utilisent une attente infinie pour maintenir l’exécution du conteneur lorsque l’application n’est pas en cours d’exécution. Lorsque l'application est lancée, qu'il soit avec ou sans débogage, c'est le débogueur qui est chargé de faire fonctionner l'application (c'est-à-dire, dotnet webapp.dll) et de maintenir le conteneur en cours d'exécution.
Conteneurs Windows Le point d’entrée est similaire à C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus, qui exécute le débogueur. Il est donc à l’écoute des connexions. Pour les applications web .NET Framework, le point d’entrée est légèrement différent où ServiceMonitor est ajouté à la commande.
Type de conteneur Point d’entrée
Conteneurs Linux Pour .NET 6 et versions ultérieures, le point d’entrée est dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait. Pour .NET 5 et versions antérieures, le point d’entrée est tail -f /dev/null. Ces processus utilisent une attente infinie pour maintenir l’exécution du conteneur lorsque l’application n’est pas en cours d’exécution. Lorsque l'application est lancée, avec ou sans débogage, c'est le débogueur qui est responsable de l'exécution de l'application (c'est-à-dire, dotnet webapp.dll). DistrolessHelper surveille le processus de l’application et se termine avec le code de sortie de l'application à la fin de celui-ci.
Conteneurs Windows Le point d’entrée est similaire à C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus, qui exécute le débogueur. Il est donc à l’écoute des connexions.

Le point d’entrée du conteneur ne peut être modifié que dans les projets Docker Compose, et non dans les projets à conteneur unique. Consultez les propriétés Docker Compose - Personnalisez le processus de démarrage de l’application.