본문 바로가기

Web Dev

Docker Build Run 전문적인 Dockerfile 노하우 작성법

반응형

FROM node:14
#caching
#cach가 깨졌을때 발생하는 문제점 ! 
#package.json or codes 
WORKDIR /myfolder/
# 어기 폴더에 커서 ! 
COPY ./package.json /myfolder/
COPY ./package-lock.json /myfolder/

RUN npm install
#node_modules 생성을 위해서 
#여기까지 image로 생성 !

COPY . /myfolder/
# myfolder를 만들어서 모든 파일을 복사해줘
 

CMD npm run dev

docker라는 것은 한번 빌드 하면 Cache라는 걸 사용해서 

재 사용을 통해 빠르게 빌드하게 된다.

우리가 도커를 사용하는 이유는 어디서든 동일한 환경에서 개발 및 서버 운영을 시도해보기 위함인데 

여러사람이 코드를 변경하게 되면 해당 도커 파일이 빌드 될 때마다 용량 및 시간을 많이 잡아 먹는 경우가 생긴다 

특히 웹 개발에서 중요한것은 

package.json이라는 파일인데 

해당 파일은 누군가가 개발해 놓은 소스코드를 쉽게 npm install 을 통해 가져왔고 설치 했다는 파일이다. 

이 파일 및 소스 코드는 사용자가 소스코드를 업그레이드 및 수정할 때 많은 변화가 생기는데 

이 코드가 변경되면 이부분이 Dockerfile 에도 적용되어야 가상 도커 컴퓨터 환경에도 그대로 적용되는 부분이다. 

위에 보면 

RUN npm install

전에 

COPY ./package.json /myfolder/
COPY ./package-lock.json /myfolder/

이렇게 따로 미리 카피를해준다 

그래야 시시 각각 바뀌는 코드를 바로바로 적용해줄 수 있다. 

 

반응형