여기서는 멈추세요
- 명령 출력의 서버·서비스·경로가 예상 대상과 다르면 변경 단계로 넘어가지 않습니다.
- 현재 접속 세션, 백업 또는 콘솔 복구 경로를 확보하지 못했다면 상태 변경 명령을 실행하지 않습니다.
CONTAINER
SAFE OPERATING BOUNDARY
변경 전 설정과 출력값을 기록하고, 예상과 다른 결과가 나오면 추가 변경을 멈춘 뒤 승인된 운영 복구 절차로 되돌립니다.
BEFORE YOU START
CHECK THE BRANCH
장기 실행 프로세스가 아니라 작업형 명령이 정상 종료됐는데 restart policy가 다시 실행하는 구성인지 확인합니다.
SIGKILL과 메모리 제한 가능성을 확인하고 호스트 OOM 기록과 컨테이너 리소스 제한을 함께 비교합니다.
healthcheck 실패와 프로세스 종료는 다른 상태입니다. healthcheck 명령과 애플리케이션 응답을 직접 확인합니다.
FOLLOW THE FLOW
이름과 최근 상태를 먼저 확인합니다.
docker ps -adocker ps -a --filter status=restartingSTATUS의 종료 후 경과 시간과 반복 주기를 기록합니다.
대상 CONTAINER_NAME을 다음 단계에 사용합니다.
컨테이너 상태를 한 줄로 확인합니다.
docker inspect --format '{{.State.Status}} Exit={{.State.ExitCode}} OOM={{.State.OOMKilled}} Error={{.State.Error}}' CONTAINER_NAMEOOM=true면 메모리 가이드로, ExitCode가 있으면 애플리케이션 종료 원인을 조사합니다.
restart policy가 오류를 가리고 있을 수 있습니다.
전체 로그 대신 최근 200줄부터 봅니다.
docker logs --tail 200 --timestamps CONTAINER_NAMEdocker inspect --format '{{json .HostConfig.RestartPolicy}}' CONTAINER_NAME첫 번째 치명 오류와 종료 시각을 찾습니다.
설정·환경변수·의존 서비스 오류를 구분합니다.
호스트 자원 부족이 컨테이너 오류처럼 보일 수 있습니다.
docker stats --no-streamdocker system dfdf -hT메모리 제한, 디스크 Full, 로그 폭증 여부를 확인합니다.
prune은 이 단계에서 실행하지 않습니다.
설정과 의존 서비스가 준비됐는지 확인한 뒤 실행합니다.
docker restart CONTAINER_NAMEdocker ps --filter name=CONTAINER_NAME && docker logs --tail 50 CONTAINER_NAMEUp 상태가 유지되고 같은 오류가 반복되지 않아야 합니다.
다시 루프에 들어가면 반복 재시작하지 말고 2단계로 돌아갑니다.
PRIMARY REFERENCES
배포판과 버전에 따라 옵션·로그 위치가 다를 수 있습니다. 실행 전 서버의 --help와 로컬 매뉴얼을 함께 확인하세요.