← 질문 목록
#395깊이 0
멀티 스테이지 빌드로 이미지 용량을 줄이는 원리는 무엇인가?
인프라 · 보안
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
빌드에만 쓰는 컴파일러와 소스 코드를 떼어내고 최종 결과물만 새 이미지에 담는 원리다.
- 1단계 (Build)
그다음은 실행 파일입니다. 컴파일러와 소스 코드로 빌드
실행 파일그다음은 2단계 (Run)입니다. 최소한의 실행 환경에 결과물만 복사
2단계 (Run)
기존 방식은 앱을 컴파일하려면 SDK와 헤더 파일이 들어간 무거운 베이스 이미지가 필요했다. 빌드가 끝나도 이런 도구가 이미지에 남아 용량이 커졌다.
멀티 스테이지 빌드는 하나의 Dockerfile 안에서 여러 FROM 절을 쓴다. 앞선 단계에서 생성된 결과물만 COPY --from으로 다음 단계에 넘겨받는다.
결과적으로 운영 이미지에는 실행 파일만 남고 컴파일러나 임시 파일은 모두 버려진다. 용량이 줄어들 뿐 아니라 디버깅 도구가 제거되어 보안 위협도 줄어든다.