컨테이너 진입점 설정
컨테이너 진입점은 컨테이너가 시작될 때 실행되도록 구성된 프로세스입니다.
Visual Studio는 프로젝트 유형 및 컨테이너 운영 체제에 따라 사용자 지정 컨테이너 진입점을 사용합니다. 다양한 조합은 다음과 같습니다.
컨테이너 유형 | 진입점 |
---|---|
Linux 컨테이너 | 진입점은 tail -f /dev/null 이며, 이 컨테이너를 계속 실행하도록 유지하기 위한 무한 대기 상태입니다. 앱이 디버거를 통해 실행될 때는, 디버거가 그것도 실행을 담당합니다(즉, dotnet webapp.dll ). 디버깅 없이 시작된 경우 도구는 docker exec -i {containerId} dotnet webapp.dll 실행하여 앱을 실행합니다. |
Windows 컨테이너 | 진입점은 디버거를 실행하는 C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus 같으므로 연결을 수신 대기합니다. 이 메서드는 디버거가 앱을 실행할 때 적용됩니다. 디버깅하지 않고 시작하면 docker exec 명령이 사용됩니다. .NET Framework 웹앱의 경우 진입점은 명령에 ServiceMonitor 추가되는 위치와 약간 다릅니다. |
컨테이너 유형 | 진입점 |
---|---|
Linux 컨테이너 | .NET 6 버전부터 진입점은 dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait 입니다. .NET 5 이하의 경우, 진입점은 tail -f /dev/null 입니다. 이러한 프로세스는 무한 대기를 사용하여 앱이 실행되고 있지 않을 때 컨테이너를 계속 실행합니다. 디버깅을 사용하거나 사용하지 않고 앱을 시작하면 앱(즉, dotnet webapp.dll )을 실행하고 컨테이너를 계속 실행해야 하는 디버거입니다. |
Windows 컨테이너 | 진입점은 디버거를 실행하는 C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus 같으므로 연결을 수신 대기합니다. .NET Framework 웹앱의 경우 진입점은 명령에 ServiceMonitor 추가되는 위치와 약간 다릅니다. |
컨테이너 진입점은 단일 컨테이너 프로젝트가 아닌 Docker Compose 프로젝트에서만 수정할 수 있습니다. Docker Compose 속성 참조 - 앱 시작 프로세스사용자 지정합니다.