클라우드 도커컨테이너 재시작 스크립트 명령 실패 - 100-hours-a-week/16-Hot6-wiki GitHub Wiki

[도커 테스트 컨테이너 및 백엔드 프로세스 재시작 스크립트 개선 요약]


1. 문제 발생 내용

  • pgrep -f backend 명령이 도커 테스트 컨테이너와 실제 백엔드 애플리케이션 프로세스를 동시에 탐지
  • 다중 PID 반환 시 kill "$PID" 명령이 실패하여 프로세스 종료 불가
  • kill 실패로 인해 애플리케이션 재시작 단계에서 충돌 또는 중복 실행 발생

2. 개선 조치 사항

  • pgrep -f backendpgrep -f "java -jar backend.jar"로 정확한 백엔드 프로세스만 타겟팅
  • 다중 PID 안전 처리를 위해 kill "$PID"echo "$PIDS" | xargs kill로 변경
  • docker run 명령에서 줄바꿈 오류 수정 (IMAGE 뒤에 \ 추가)
  • 모든 명령이 bash -s <<'EOF' 블록 내부에서 정확히 실행되도록 수정

3. 수정된 주요 부분 예시

PIDS=$(pgrep -f "java -jar backend.jar" || true)

if [ -n "$PIDS" ]; then
  echo "$PIDS" | xargs kill
fi

4. 기대 효과

  • 테스트 컨테이너와 백엔드 프로세스 간의 혼선 제거
  • 애플리케이션 재시작 시 안정적인 프로세스 종료 및 재기동 보장
  • 배포 자동화 안정성 향상

필요 시 전체 워크플로 내에서 이 변경이 반영된 최종 스크립트도 문서화해드릴 수 있습니다.