컨테이너 진입점은 컨테이너가 시작될 때 실행되도록 구성된 프로세스입니다.
필수 조건
- Docker Desktop 또는 Podman Desktop.
- Visual Studio 또는 Podman 지원의 경우 ASP.NET 및 웹 개발, Azure 개발 워크로드 및/또는 .NET 데스크톱 개발 워크로드가 설치된 Visual Studio 2026.
필수 조건
- Docker Desktop.
- ASP.NET 및 웹 개발, Azure 개발 워크로드 및/또는 .NET 데스크톱 개발 워크로드가 설치된 Visual Studio.
프로젝트 유형별 진입점
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 속성 참조 - 앱 시작 프로세스사용자 지정합니다.