다음을 통해 공유


컨테이너 진입점 설정

컨테이너 진입점은 컨테이너가 시작될 때 실행되도록 구성된 프로세스입니다.

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 속성 - 앱 시작 프로세스 사용자 지정을 참조하세요.