[Docker] 4-4.멀티 스테이지 빌드

null·2025년 2월 10일
0

Docker

목록 보기
11/24

멀티 스테이지 빌드

  • 도커파일에서 두개의 이미지를 활용하는 방법
  • 빌드에 사용하는 이미지 + 실행에 사용하는 이미지

  • 싱글 스테이지

  • 멀티 스테이지

  • COPY --from=build
    : form이 두개 -> 도커가 두개의 컨테이너를 동시에 생성하고, 첫번째 컨테이너에서 만들어진 파일을 두번째 컨테이너로 복사

: maven에서 만들어낸 jar 파일을 jdk 컨테이너에서 복사해와서 사용하게됨

  • 용량 차이

궁금했던 점 정리

  • 1단계에 빌드 된 이미지는 어떻게 되는거지?
- 첫 번째 단계 (빌더 스테이지)

- node:18 이미지를 사용하여 Vue 프로젝트를 빌드
- /app/dist 폴더에 Vue 정적 파일(index.html, .js, .css)이 생성됨
- 이 단계에서 만든 컨테이너는 임시적으로 존재

- 두 번째 단계 (최종 실행 환경)

- nginx:latest 이미지를 기반으로 함
- COPY --from=builder /app/dist /usr/share/nginx/html
- 첫 번째 단계에서 만든 /app/dist 폴더만 가져오고, node:18 컨테이너는 최종 이미지에 포함되지 않음
- nginx가 최종 이미지로 사용됨

* 결론적으로 1단계는 실행 과정에서만 존재하고, 2단계가 빌드되면 삭제됨

0개의 댓글