Compartir vía


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 según el tipo de proyecto y el 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, es el depurador el que es 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 el caso de las aplicaciones web de .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 en funcionamiento el contenedor.
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 el caso de las aplicaciones web de .NET Framework, el punto de entrada es ligeramente diferente donde se agrega ServiceMonitor al comando.

El punto de entrada del contenedor solo se puede modificar en proyectos de Docker Compose, no en proyectos de contenedor único. Consulte propiedades de Docker Compose: Personalizar el proceso de inicio de la aplicación.