다음을 통해 공유


컨테이너 진입점 설정

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

필수 조건

필수 조건

프로젝트 유형별 진입점

Visual Studio는 프로젝트 유형 및 컨테이너 운영 체제에 따라 사용자 지정 컨테이너 진입점을 사용합니다. 다양한 조합은 다음과 같습니다.

컨테이너 유형 진입점
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 추가되는 위치와 약간 다릅니다.
컨테이너 유형 진입점
Linux 컨테이너 .NET 6 버전부터 진입점은 dotnet --roll-forward Major /VSTools/DistrolessHelper/DistrolessHelper.dll --wait입니다. .NET 5 이하의 경우, 진입점은 tail -f /dev/null입니다. 이러한 프로세스는 무한 대기를 사용하여 앱이 실행되고 있지 않을 때 컨테이너를 계속 실행합니다. 디버깅을 사용하거나 사용하지 않고 앱을 시작하면 앱(즉, dotnet webapp.dll)을 실행할 책임이 있는 디버거입니다. DistrolessHelper 는 앱 프로세스를 모니터링하고 앱 프로세스가 종료되면 앱의 종료 코드로 종료됩니다.
Windows 컨테이너 진입점은 디버거를 실행하는 C:\remote_debugger\x64\msvsmon.exe /noauth /anyuser /silent /nostatus 같으므로 연결을 수신 대기합니다.

컨테이너 진입점은 단일 컨테이너 프로젝트가 아닌 Docker Compose 프로젝트에서만 수정할 수 있습니다. Docker Compose 속성 참조 - 앱 시작 프로세스사용자 지정합니다.