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é.

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

Type de conteneur Point d’entrée
Conteneurs Linux Le point d’entrée est tail -f /dev/null, qui est une attente infinie pour maintenir le conteneur en cours d’exécution. Lorsque l’application est lancée via le débogueur, c’est lui qui est chargé d’exécuter l’application (autrement dit, dotnet webapp.dll). S’ils sont lancés sans débogage, les outils exécutent un docker exec -i {containerId} dotnet webapp.dll pour exécuter l’application.
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. Cette méthode s’applique lorsque le débogueur exécute l’application. Lorsqu’elle est lancée sans débogage, une commande docker exec est utilisée. Pour les applications web .NET Framework, le point d’entrée est légèrement différent ; ServiceMonitor est ajouté à la commande.
Type de conteneur Point d’entrée
Conteneurs Linux Pour .NET 6 et les versions ultérieures, le point d’entrée est dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait. Pour .NET 5 et les 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) et du maintien du 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 ; ServiceMonitor est ajouté à la commande.

Le point d’entrée du conteneur ne peut être modifié que dans les projets docker-compose, pas dans les projets à conteneur unique. Consultez l’article Propriétés Docker Compose - Personnaliser le processus de démarrage d’application.