클라우드 도커컨테이너 재시작 스크립트 명령 실패 - 100-hours-a-week/16-Hot6-wiki GitHub Wiki
[도커 테스트 컨테이너 및 백엔드 프로세스 재시작 스크립트 개선 요약]
1. 문제 발생 내용
pgrep -f backend
명령이 도커 테스트 컨테이너와 실제 백엔드 애플리케이션 프로세스를 동시에 탐지- 다중 PID 반환 시
kill "$PID"
명령이 실패하여 프로세스 종료 불가 kill
실패로 인해 애플리케이션 재시작 단계에서 충돌 또는 중복 실행 발생
2. 개선 조치 사항
pgrep -f backend
→pgrep -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. 기대 효과
- 테스트 컨테이너와 백엔드 프로세스 간의 혼선 제거
- 애플리케이션 재시작 시 안정적인 프로세스 종료 및 재기동 보장
- 배포 자동화 안정성 향상
필요 시 전체 워크플로 내에서 이 변경이 반영된 최종 스크립트도 문서화해드릴 수 있습니다.