2016-09-26 5 views
4

.net 4.5를 사용하여 서버 2016 CTP5에서 Windows 컨테이너 기반의 마이크로 서비스를 구축하려고합니다.Windows 컨테이너의 콘솔 앱 또는 Windows 서비스?

비 컨테이너 세계에서 대기열에 가입하고 작업을 수행하는 Windows 서비스로 배포 된 콘솔 앱을 사용하고 있습니다.

컨테이너에서 콘솔 앱을 실행할 수 있으며 제대로 실행되는 것 같습니다. Windows 서비스로 설치해야합니까?

+0

잘 실행되면 Windows 서비스로 설치할 필요가 없습니다. 이것은 모든 것을위한 것입니다. –

+0

당신은 아마 당신이 가지고있는 요구 사항을 설명해야합니까? 또한 서비스로 실행되는 앱과 관련이 있습니다. 또한 stackoverflow가이를위한 장소가 아닐 수도 있습니다. 보다 자세한 질문은 http://superuser.com/tour에 게시해야합니다. –

+0

내 요구 사항이 무엇인지 표현했다고 생각합니다. 저는 전통적인 Windows 서버 (2012)에서 전통적인 Windows 서비스로 마이크로 서비스를 실행하고 있습니다. Windows 컨테이너로 이동하려고합니다. – TalMcMahon

답변

8

아니요, 서비스로 설치하지 않으려합니다. 컨테이너에서 응용 프로그램을 실행하면 Docker는 컨테이너의 활성 프로세스를 모니터링합니다. 활성 프로세스가 중지되면 컨테이너가 종료됩니다. 따라서 포 그라운드에서 앱을 실행하고 Docker가 컨테이너를 백그라운드에 놓게하십시오 (docker run -d으로 시작).

예외는 기존 플랫폼이 이미 Windows 서비스 인 경우입니다 (예 : microsoft/iis 이미지. 반면,

docker run -d -p 80:80 microsoft/iis ping -t localhost 

ping 명령은 컨테이너 실행 유지 : 당신은 IIS 용기는 다음과 같이 시작 볼 이유 - IIS는 컨테이너의 백그라운드에서 실행되고, 그래서 당신은 컨테이너 실행을 유지하기 위해 다른 프로세스를 시작해야합니다 IIS 서비스는 실제로 요청에 응답합니다. 그래도 Docker는 ping을 모니터링하므로 IIS 서비스가 중지되면 컨테이너가 계속 실행됩니다.

+0

위대한 thats는 내가 감지하고 있었지만 그것을 시험 할 필요가있다. – TalMcMahon

+1

부수적 인 메모와 마찬가지로 현재의 Microsoft/iis 이미지에서 기본 진입 점은 "C : \ ServiceMonitor.exe w3svc"이며 매개 변수없이이 이미지를 실행하면이 ServiceMonitor가 계속 실행됩니다. Docker로 Windows 서비스를 사용하는 "방법"이 아니더라도 실제로 필요한 경우 해결 방법이 될 수 있습니다. – Tobias