Establecimiento del punto de entrada del contenedor
Un punto de entrada de contenedor es un proceso configurado para ejecutarse cuando se inicia un contenedor.
Visual Studio usa un punto de entrada de contenedor personalizado en función del tipo de proyecto y del sistema operativo del contenedor; estas son las diferentes combinaciones:
Tipo de contenedor | Punto de entrada |
---|---|
Contenedores de Linux | El punto de entrada es tail -f /dev/null , que es una espera infinita para mantener el contenedor en ejecución. Cuando la aplicación se inicia a través del depurador, este es el responsable de ejecutar la aplicación (es decir, dotnet webapp.dll ). Si se inicia sin depurar, las herramientas ejecutan docker exec -i {containerId} dotnet webapp.dll para ejecutar la aplicación. |
Contenedores de Windows | El punto de entrada es algo como C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus , que ejecuta el depurador, así que escucha para detectar conexiones. Este método se aplica cuando el depurador ejecuta la aplicación. Cuando se inicia sin depurar, se usa un comando docker exec . En aplicaciones web .NET Framework, el punto de entrada es ligeramente diferente donde se agrega ServiceMonitor al comando. |
Tipo de contenedor | Punto de entrada |
---|---|
Contenedores de Linux | Para .NET 6 y versiones posteriores, el punto de entrada es dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait . Para .NET 5 y versiones anteriores, el punto de entrada es tail -f /dev/null . Estos procesos usan una espera infinita para mantener el contenedor en ejecución cuando la aplicación no se está ejecutando. Cuando se inicia la aplicación, con o sin depuración, es el depurador el responsable de ejecutar la aplicación (es decir, dotnet webapp.dll ) y mantener el contenedor en ejecución. |
Contenedores de Windows | El punto de entrada es algo como C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus , que ejecuta el depurador, así que escucha para detectar conexiones. En aplicaciones web .NET Framework, el punto de entrada es ligeramente diferente donde se agrega ServiceMonitor al comando. |
El punto de entrada de contenedor solo puede modificarse en proyectos de Docker Compose, no en proyectos de un solo contenedor. Consulte Propiedades de Docker Compose - Personalización del proceso de inicio de la aplicación.