Docker 워커 안전하게 중지하기는 작은 인쇄 대기열을 일시 중지하는 Docker 학습자를 위한 실습 프로젝트입니다. 현재 행사 프로그램을 실제 PDF로 완성하고, 이전 안내문을 보존하며, 다음 작업은 대기 상태로 남깁니다.
두 가이드 실습에서 신호 전달과 작업 완료에 필요한 시간을 나누어 배웁니다. 독립 도전 과제에서는 두 판단을 저녁 프로그램에 함께 적용합니다. 연습용 대기열과 전달용 대기열이 분리되어 있어 전달 진행 상황을 잃지 않고 통제된 실패를 관찰할 수 있습니다. 각 실습은 독립적으로 준비된 완전한 상황에서 시작합니다.
학습 내용
- 대기 중인 PID 1 셸이 자식 프로세스의 TERM 수신을 막을 수 있는 이유를 관찰합니다.
- 제공된 워커에 중지 요청을 실제로 전달하는 진입 스크립트를 사용합니다.
- 현재 작업에 유한한 Compose 중지 유예를 선택하고 적용합니다.
- Docker stop 명령의 성공과 워커의 정상 종료를 구분합니다.
- 실제 신호, 프로세스, 컨테이너 증거를 함께 읽습니다.
- 이전 출력과 다음 대기 작업을 보존하면서 PDF의 모든 페이지를 다운로드하고 디코딩합니다.
추천 대상
백그라운드 작업을 중지할 때 현재 결과가 조용히 사라지는 일을 피하고 싶은 Docker 초보자에게 적합합니다.
선수 지식: 터미널 경로, 기본 Docker, 컨테이너 로그. 작은 Compose 설정과 셸 동작은 설명합니다. Python 프로그래밍이나 실제 프린터는 필요하지 않습니다.
학습 환경: 브라우저에 Workstation과 Print Desk가 준비되어 있습니다. 제공된 워커는 실제로 다운로드할 수 있는 PDF를 만듭니다. 훈련 모드는 첫 페이지를 실제로 렌더링한 뒤 중지 요청을 기다리며, 이후 남은 페이지 사이에 명시된 0.5초 지연을 추가합니다.
자주 묻는 질문
Python 워커를 변경하나요?
아니요. 중지 핸들러는 이미 제공됩니다. 허용된 진입 스크립트와 종료 유예를 변경하고, 같은 원래 워커가 현재 PDF를 완성하는지 확인합니다.
종료 코드 137은 항상 같은 원인을 뜻하나요?
아니요. 통제된 실패 연습에서는 Docker의 유한한 유예가 만료되어 워커가 강제로 중지됩니다. 이 과정은 하나의 종료 코드를 보편적인 진단으로 삼지 않고 로그, 신호 사실, 실제 컨테이너 상태를 함께 확인합니다.
실패한 전달을 복구할 수 있나요?
예. 명시적인 복구 동작은 실패한 현재 작업만 다시 대기열에 넣고 실패 산출물을 보관합니다. 실행 중이거나 정상 완료된 작업에는 거부하며 원본 입력, 이전 PDF, 다음 작업을 보존합니다. 훈련용 대기는 운영 처리량 벤치마크가 아닙니다.


