노드몬이 작동되지 않는 이유
도커 빌드시에는 소스코드 전체를 이미지로 가져오고 , 그 이미지를 가지고 컨테이너를 실행했다.
이렇게 되면 소스코드에 변화가 생기더라도, 이미 이미지는 빌드가 되어있으니까 새로 빌드를 하지 않는이상 컨테이너에 소스코드 변경이 반영되지 않는다. ( 컴퓨터에서 USB 로 파일을 옮기고 연결을 해제하면, 컴퓨터의 파일을 수정해도 USB 에는 반영되지 않는다 )
Volumes
docker-compose.yaml 파일에 volumes 를 설정해서 소스코드를 동기화하도록 한다. 이렇게 되면 매번 빌드할 필요 없이 소스코드의 변경이 반영되고, nodemon에 의해서 다시 서버가 시작될 수 있다.
노드몬과 Volumes 실습
// docker-compose.yaml 파일
version : '3.7'
services :
my-backend:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./index.js:/myfolder/index.js ==> 파일을 공유
# - ./src:/myfolder/src ===> 디렉토리 전체를 공유
ports:
- 4000:4000
**
- 기호는 YAML의 리스트 항목을 나타내는 기호입니다.
여러 값을 나열하거나 여러 설정을 정의할 때 사용되며, 각 항목을 구분하는 역할을 합니다.
728x90
'Backend 백엔드' 카테고리의 다른 글
[ 31 ] 스크래핑과 브라우저 주소창의 원리 (0) | 2024.08.21 |
---|---|
[ 30 ] 몽구스의 숨겨진 진실 (0) | 2024.08.21 |
[ 28 ] mongoose 로 Board_API 만들기 실습 (0) | 2024.08.20 |
[ 27 ] ODM ( mongoose ) 을 통해서 백엔드와 데이터베이스 연결하기 (0) | 2024.08.20 |
[ 26 ] docker compose (0) | 2024.08.19 |