목록 보기
[Windows 컨테이너] 3: NT 서비스를 Windows 컨테이너로 마이그레이션하기
데브옵스

[Windows 컨테이너] 3: NT 서비스를 Windows 컨테이너로 마이그레이션하기

데브시스터즈
데브시스터즈
2020년 1월 10일

두줄요약

Windows NT 서비스를 ServiceMonitor로 컨테이너 생명 주기에 연결하는 방법을 설명했습니다. LogMonitor로 이벤트·ETW 로그를 stdout으로 수집하는 구성을 소개합니다.

문제 상황

  • SCM이 제어하는 NT 서비스와 컨테이너 런타임 생명 주기 간 불일치
  • Windows 서비스의 stdout 미출력으로 컨테이너 동작 상태 확인 곤란

해결 방법

  • ServiceMonitor를 ENTRYPOINT로 지정해 SimpTcp 서비스 실행 상태와 컨테이너 생명 주기 연결
  • Windows Server Core 기반 이미지에서 SimpleTCP 기능 활성화와 서비스 포트 노출
  • LogMonitor로 이벤트 로그·ETW 로그·로그 파일을 가로채 stdout 출력

구조와 흐름

  • LogMonitor가 PowerShell과 ServiceMonitor 실행을 감싸 로그 수집 전처리 수행
  • LogMonitorConfig.json에서 EventLog 채널과 ETW 공급자·수집 수준 선택
  • docker build·run 후 포트 매핑과 telnet 연결로 TCP 서비스 검증

주의할 점

  • ServiceMonitor·LogMonitor 조합은 NT 서비스를 콘솔 애플리케이션으로 전환하기 어려운 경우의 대안
  • 충분한 투자 여유가 있다면 독립 콘솔 서버 애플리케이션 형태의 리팩터링 우선

다음 읽기

#Windows 주제를 이어서 읽기

[Windows 컨테이너] 2: Windows 컨테이너 개발 환경 구축하고 테스트하기

Windows 컨테이너 개발을 위한 가상화 환경과 Docker Desktop 전환 절차를 설명했습니다.\nIIS 기반 웹 서버 이미지를 빌드하고 로컬 포트로 동작을 검증했습니다.

데브시스터즈
데브시스터즈
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...