강의/Docker & Kubernetes : 실전 가이드

[55] NodeJS 특화 조정 : 컨테이너에서 Nodemon 사용하기

JJIMJJIM 2025. 2. 22. 17:04
728x90
반응형

NodeJS 특화 조정 : 컨테이너에서 Nodemon 사용하기

Node.js 개발 환경 최적화: Nodemon과 Docker

지난번 강의로 바인드 마운트 덕분에 html소스코드 변경하면 리로드하고 확인 가능했다  
하지만 server.js에서 변경하면 문제가 있었다.

즉 노드 (자바스크립트 런타임 환경) 에 의해 실행되는 javascript의 경우 실시간을 확인할 수 없었다.

이럴때 사용할 수 있는것이 nodemon!

 

 

Nodemon 소개

목적

  • 파일 변경 감지 자동화
  • 서버 자동 재시작
  • 개발 생산성 향상

 

기존 문제점

  • server.js 변경 시 수동 재시작 필요
  • 컨테이너 재시작 필요
  • 개발 효율성 저하

 

 

Nodemon 설정 방법

package.json 설정

{
  "scripts": {
    "start": "nodemon server.js"
  }
}

 

Dockerfile 수정

# 기존
CMD ["node", "server.js"]

# 변경
CMD ["npm", "start"]

 

 

WSL2 사용자를 위한 특별 설정

package.json 수정

{
  "scripts": {
    "start": "nodemon -L server.js"
  }
}

 

Docker 실행 명령어

docker run -e CHOKIDAR_USEPOLLING=true ...

 

 

 

주의사항

WSL2 특이사항

  • Linux 파일 시스템 사용
  • 파일 변경 감지 문제 발생
  • 추가 설정 필요

 

성능 고려사항

  • 파일 시스템 모니터링 부하
  • CHOKIDAR_USEPOLLING 사용 시 리소스 사용 증가

 

이러한 설정으로 개발 중 코드 변경사항이 실시간으로 반영되어 개발 효율성이 향상됩니다.

 

 

 

 

 

참고

https://www.udemy.com/course/docker-kubernetes-2022

728x90
반응형