피드로 돌아가기
Docker Container Keeps Restarting: Diagnosis and Fix Guide
Dev.toDev.to
DevOps

Exit Code 분석 기반 Docker Restart Loop 해결 프로세스 정립

Docker Container Keeps Restarting: Diagnosis and Fix Guide

Yash2026년 4월 19일3beginner

Context

Container가 무한 재시작되는 Restart Loop 상황에서 원인 파악 없이 설정만 변경하는 비효율적 대응 방식의 한계. 프로세스 종료 상태와 리소스 제약 사항에 대한 체계적 진단 체계 부재로 인한 복구 시간 지연.

Technical Solution

  • docker logs 및 Exit Code 분석을 통한 장애 원인의 정량적 식별
  • Exit Code 137 기반 OOM Killed 판단 및 Memory Limit 증설을 통한 리소스 병목 해결
  • Entrypoint 설정을 통한 Foreground 프로세스 유지로 Clean Exit(Code 0)에 의한 재시작 방지
  • docker-compose의 depends_on과 healthcheck 조합을 통한 서비스 간 의존성 및 기동 순서 보장
  • --entrypoint 오버라이드를 통한 Interactive Shell 진입 및 런타임 환경 변수/연결성 검증

- docker inspect로 Exit Code 확인 후 OOM(137) 또는 Application Error(1) 구분 - Memory Limit 설정 시 memory-swap 값의 정밀한 튜닝 검토 - DB 등 외부 의존 서비스에 대해 pg_isready와 같은 Healthcheck 로직 구현 - CMD 설정 시 백그라운드 실행이 아닌 Foreground 프로세스 유지 구조 설계

원문 읽기