-
dockerfile optimization카테고리 없음 2022. 7. 29. 14:36
만약 server.js를 바꿨을 경우 COPY . /app 에서 바뀌기 때문에 RUN npm install을 다시한다. package.json은 변경이 없으므로 동일한 dependency를 가지는데 npm install을 다시하는것은 비효율적이다.
이렇게 하면 package.json을 image내부에 /app으로 복사하는데 같은 파일이므로 run npm install을 할때 캐시에서 가져온다. 그리고 copy . /app 을 했고 이때는 server.js가 변경되어있으므로 이미지를 다시 만들면 run npm install을 캐시에서 가져오므로 이미지 재빌드 속도가 훨씬 빨라진다.
도커의 이미지는 Dockerfile을 위에서부터 읽으면서 이미지 파일에 차곡차곡 쌓는 방식으로 이해하면 될거같다.