그렇다고 멀티 스테이지 빌드가 필요하지 않은 것은 아니다. 멀티 스테이지 빌드를 통해 의존 모듈 로딩을 최적화할 수 있다. Node.js는 npm(node package manager)이라는 패키지 관리자를 사용해 의존 모듈을 관리한다. 예제 4-3은 이 Node.js 애플리케이션을 빌드하는 전체 Dockerfile 스크립트다.
예제 4-3 npm을 사용해 Node.js 애플리케이션을 빌드하는 Dockerfile 스크립트
FROM diamol/node AS builder
WORKDIR /src
COPY src/package.json .
RUN npm install
# app
FROM diamol/node
EXPOSE 80
CMD ["node", "server.js"]
WORKDIR /app
COPY --from=builder /src/node_modules/ /app/node_modules/
COPY src/ .