해결된 질문
작성
·
415
답변 1
0
안녕하세요! 민규님!
먼저 소스코드의 리프레시를 위해서는, 도커의 volumes 뿐만 아니라 nodemon에 대한 이해도 필요합니다.
도커를 생각하지 않고, 단순히 node 프로그램만으로 index.js 파일을 실행시킬 때, 역시 index.js 파일을 수정한다고 해서 리프레시가 되지 않습니다!
이 경우, 수정된 index.js를 감지하여 리프레시해주는 nodemon 프로그램으로 소스코드를 실행시켜 주셔야해요!
다음으로, 도커를 추가로 사용하는 경우에는, 도커 내부에서 nodemon 프로그램으로 소스코드를 실행시키더라도 소스코드 변경을 감지할 수 없으며 리프레시 되지 않습니다!
이유는 도커 외부와 도커 내부가 격리되었기 때문에 그래요!
이 때는, 도커 외부의 파일을 수정하였을 때 수정된 파일이 도커 내부와 공유될 수 있도록 volumes 설정을 해주셔야 합니다.
따라서, 총 2가지를 다시 한 번 확인해 주세요.
1. Dockerfile 부분에서 실행하고 있는 명령어가 package.json을 통해 nodemon을 사용하고 있는지 확인해 주세요!
docker-compose 에서 volumes 설정을 확인해 주시고, 다시 한 번 테스트 해 주세요
(테스트시, volumes에 설정된 파일을 수정하셨을 때만 리프레시가 되겠죠?!)