Devsecops

Dockerfile 최적화 본문

Docker

Dockerfile 최적화

Futurism 2024. 5. 1. 17:04
728x90

컨테이너 기술은 어디까지나 빠르게 어디에서나 배포를 하기 위함이다

----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- 

FROM node

WORKDIR /app

COPY . /app

RUN npm install

EXPOSE 80

CMD [ "node", "server.js" ]

----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- -----------------

이라는 dockerfile을 가질때 '소스코드'를 조금만 변경하여도 RUN npm install 아래 라인이 실행이 된다

이는 layer 기반이기 때문

따라서

------------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- --------------

FROM node

WORKDIR /app

 

COPY package.json /app

 

RUN npm install


COPY . /app

EXPOSE 80

CMD [ "node", "server.js" ]

----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- -----------------

이렇게 수정하여 소스코드를 변경하여도 RUN npm install 아래 레이어를 Docker의 캐시를 이용하여 실행 속도를 최적화 할 수 있다

* package.json : 현재 프로젝트에 관한 정보와 패키지 매니저(npm, yarn)을 통해 설치한 모듈들의 의존성을 관리하는 파일

728x90

'Docker' 카테고리의 다른 글

EC2 docker 설치  (0) 2023.03.03
Networking  (0) 2023.02.24