[ 어플리케이션 소스 변경시 효율적으로 빌드하는법 - volume 이용 ]
위에 도표를 보면 완성본 Dockerfile에는
RUN 위에 COPY package.json ./ 이 하나가 추가되고원래의 COPY가 RUN 아래로 내려갔습니다.
npm install 할 때 불 필요한 다운로드를 피하기 위해서입니다.원래 모듈을 다시 받는 것은 모듈에 변화가 생겨야만 다시 받아야 하는데
소스 코드에 조금의 변화만 생겨도 모듈 전체를 다시 받는 문제점이 있습니다.
# 베이스 이미지를 명시해준다
FROM node:10
WORKDIR /usr/src/app
COPY package.json ./
# 추가적으로 필요한 파일을 다운받는다
RUN npm install
COPY ./ ./
# 컨테이너 시작시 실행될 명령어를 명시해준다
CMD ["node", "server.js"]
Docker
복사
[docker volum 이란 ]
도커 컨테이너에서 호스트 디렉터리에 있는 파일들을 매핑해서 사용을 한다.
[ docker volum 사용 ]
이제 어플리케이션만 변할 시 효율적으로 docker 빌드할 수 있게 dockerfile에 설정을했다.
이제 어떻게 빌드를 해야할 까?