Backend 백엔드

[ 29 ] Docker Compose Volumes

박민우_ 2024. 8. 20. 22:45

노드몬이 작동되지 않는 이유

도커 빌드시에는 소스코드 전체를 이미지로 가져오고 , 그 이미지를 가지고 컨테이너를 실행했다.

이렇게 되면 소스코드에 변화가 생기더라도, 이미 이미지는 빌드가 되어있으니까 새로 빌드를 하지 않는이상 컨테이너에 소스코드 변경이 반영되지 않는다. ( 컴퓨터에서 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