Docker와 package.json

김진겸·2023년 1월 18일
0

도커와 패키지제이슨이 빌드할때 어떤 관계가 생기는지 알아보자.(2023.01.17)

도커가 빌드를 하여 이미지를 만들때 임시저장공간(cache) 다운로드 시켜놓는다. 그래서 다음 빌드를 하여도 이미 임시저장공간에 있는것 이라면 임시저장공가에서 검색하여 있으면 그대로 사용하고 없으면 새로 다운로드 받는다.
이때 변경사항이 생기면 도커는 해당 임시저장공간을 깨트린다. 그런데 이 임시저장공간만 깨트리는게 아니라 모두 그아래 임시저장공간까지 모두 깨트린다.이유는 도커가 똑똑해서 변경사항이 아래의 임시저장공간에 어떠한 영향을 주는지 모르기에 다깨는것이다. 이것을 생각했을때 Dockerfile에서 Package.json을 복사하는 명령어가 있을경우 그리고 이 명령어가 파일을 복사하는것보다 아래에 위치할경우 파일에서 약간의 변경사항만 생겨도 package.json의 임시저장공간을 깨트리고 다시 설치한다. 그래서 package.json을 먼저 설치한다. 개발환경에 대한 변경사항이 있는것이 아니고 복사할 파일에 약간의 변경 사항이 있는것이라면 이게더 빠르고 가볍다.(다시 설치하는데 1기가 필요했었다.)

요약:똑똑한 도커는 변경사항에 예민하고 임시저장공관끼리의 악영향을 줄수 있기에 변경사항이 있는 임시저장공간 아래의 임시저장공간을 모두 깨뜨린다. 이때 package.json이 깨지게 되는데 다시설치하는데 소요가 크다. 그래서 package.json아래에 변경사항이 있는 파일을 복사한다.
그러면 가볍고 빠르게 도커를 사용할 수 있다.

-요약: 도커는 똑똑하고 예민하다.

profile
성장에 목마른 입문자입니다!

0개의 댓글