Partilhar via


Definir o ponto de entrada do contêiner

Um ponto de entrada de contêiner é um processo configurado para ser executado quando um contêiner é iniciado.

O Visual Studio usa um ponto de entrada de contêiner personalizado dependendo do tipo de projeto e do sistema operacional de contêiner. Veja abaixo as diferentes combinações:

Tipo de contêiner Ponto de entrada
Contêineres do Linux O ponto de entrada é tail -f /dev/null, que é uma espera infinita para manter o contêiner em execução. Quando o aplicativo é iniciado por meio do depurador, o depurador é o responsável por executar o aplicativo (ou seja, dotnet webapp.dll). Se iniciada sem depuração, o ferramental executa um docker exec -i {containerId} dotnet webapp.dll para executar o aplicativo.
Contêineres do Windows O ponto de entrada é semelhante a C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus que executa o depurador. Portanto, está escutando conexões. Esse método se aplica quando o depurador executa o aplicativo. Quando iniciado sem depuração, um comando docker exec é usado. Para aplicativos Web do .NET Framework, o ponto de entrada é um pouco diferente, onde ServiceMonitor é adicionado ao comando.
Tipo de contêiner Ponto de entrada
Contêineres do Linux Para o .NET 6 e posterior, o ponto de entrada é dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait. Para o .NET 5 e versões anteriores, o ponto de entrada é tail -f /dev/null. Esses processos usam uma espera infinita para manter o contêiner em execução quando o aplicativo não está em execução. Quando o aplicativo é iniciado, com ou sem depuração, é o depurador responsável por executar o aplicativo (ou seja, dotnet webapp.dll) e manter o contêiner em execução.
Contêineres do Windows O ponto de entrada é semelhante a C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus que executa o depurador. Portanto, está escutando conexões. Para aplicativos Web do .NET Framework, o ponto de entrada é um pouco diferente, onde ServiceMonitor é adicionado ao comando.

O ponto de entrada do contêiner só pode ser modificado em projetos do Docker Compose e não em projetos de contêiner único. Consulte Propriedades do Docker Compose,: personalizar o processo de inicialização do aplicativo.