Compartir a través de


Establecimiento del punto de entrada del contenedor

Un punto de entrada de contenedor es un proceso configurado para ejecutarse cuando se inicia un contenedor.

Prerrequisitos

Prerrequisitos

  • Docker Desktop.
  • Visual Studio con las cargas de trabajo desarrollo de ASP.NET y web, desarrollo de Azure y/o desarrollo de escritorio de .NET instaladas.

Punto de entrada por tipo de proyecto

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 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.
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 responsable de ejecutar la aplicación (es decir, dotnet webapp.dll). DistrolessHelper supervisa el proceso de la aplicación y sale con el código de salida de la aplicación cuando finaliza el proceso de 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.

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.