티스토리 뷰

내 환경은 다음과 같다.

내 프로젝트 환경을 Dockerfile을 통해 빌드하고 docker run 명령어를 통해 컨테이너를 생성했다.

나는 타입스크립트를 사용하기에 "start" : "nodemon --watch src --exec ts-node src/index.ts" 와 같은 명령어를 사용한다.

만약 자바스크립트를 사용한다면 "start" : "nodemon src/index.js" 가 될것이다.

어찌됐든 다음과 같이 컨테이너를 생성하고 서버를 구동했다.

또 나는 내 로컬 디렉토리와 컨테이너 디렉토리를 mount한 상태이다.
즉 내 로컬의 코드가 변경되면 컨테이너 내부의 코드도 변경된다. 그렇다면 내 로컬의 코드를 변경하면, 컨테이너의 코드가 변경되니 컨테이너에서 돌고 있는 nodemon에 의해 변경이 감지되고 서버가 restart 되어야 할 것이다.

그러나, 로컬에서 서버를 돌리면 nodemon이 정상작동 하는데 컨테이너에서는 nodemon이 정상작동하지 않았다.

구글링끝에 해결법을 찾았는데 답은 nodemon 뒤에 -L 옵션을 붙여주면 되는 것이다.
즉, "start" : "nodemon -L --watch src --exec ts-node src/index.ts"으로 수정했더니 제대로 작동하는 것을 확인했다.

-L 플래그의 의미는 모르겠다. 혹시 의미를 아시는 분이 계시다면 댓글로 알려주세요

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함