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.