docker container exits immediately — 원인 3가지와 해결법
docker container exits immediately가 뜨면 PID 1 프로세스가 종료됐다는 신호다. RUN/CMD 혼동, 포그라운드 프로세스 부재, 앱 에러가 주원인. docker logs로 진단하고 종료 코드(0/1/137/143)별 원인을 찾아 해결하자.
docker container exits immediately가 뜨면 PID 1 프로세스가 종료됐다는 신호다. RUN/CMD 혼동, 포그라운드 프로세스 부재, 앱 에러가 주원인. docker logs로 진단하고 종료 코드(0/1/137/143)별 원인을 찾아 해결하자.
쿠키 vs 세션 vs 토큰, 세 가지는 경쟁하는 개념이 아니다. HttpOnly·SameSite 보안 설정으로 XSS·CSRF를 막는 법과 Access/Refresh Token 로테이션 패턴을 Node.js 코드와 함께 정리했다. 서비스 규모별 선택 기준을 바로 확인하자.
npm install 시 ERESOLVE 의존성 충돌이 뜨면 –legacy-peer-deps를 먼저 시도하자. npm 7 peer dependency 정책 변경이 원인이다. 버전 맞추기, package.json overrides 필드까지 해결법 4가지와 판단 기준 표를 정리했다.
처음 서버 배포할 때 빠뜨리기 쉬운 서버 배포 체크리스트 8가지를 정리했다. 배포 전 확인사항인 환경 변수 분리, 포트/방화벽, PM2, HTTPS, 로그, DB 마이그레이션, DNS, 배포 후 헬스체크까지 각 항목의 실패 시나리오와 명령어를 함께 담았다.
DB 인덱스 슬로우 쿼리 때문에 이틀을 날렸다. 운영 DB 50만 건에서 30초 걸리던 API를 EXPLAIN으로 진단하고 복합 인덱스로 0.02초에 해결한 과정이다. EXPLAIN 결과 읽는 법과 복합 인덱스 컬럼 순서 기준도 함께 정리했다.
map과 forEach는 둘 다 배열을 순회하지만 용도가 다르다. map은 새 배열을 반환하고, forEach는 부수 효과 실행이 목적이다. async와 함께 쓸 때 forEach가 조용히 실패하는 이유와 map + Promise. all 패턴을 코드로 정리했다.