패스잇
인프라 & 클라우드 · 심화

멀티 스테이지 빌드(multi-stage build)는 어떤 문제를 해결하며, 빌더 스테이지와 런타임 스테이지를 분리할 때 이미지 크기와 보안 측면에서 어떤 이점이 있는지 설명해주세요.

힌트 · 빌드 산출물만 최종 이미지로 복사해 빌드 도구·시크릿 노출을 줄이는 관점에서 접근하세요.

이미지 크기보안빌더 스테이지런타임 스테이지종속성

모범답안

멀티 스테이지 빌드는 주로 두 가지 문제를 해결합니다. 첫째, 최종 컨테이너 이미지에 불필요한 빌드 도구나 종속성이 포함되어 이미지 크기가 커지는 문제를 해결합니다. 둘째, 빌드 과정에서 사용된 민감한 정보나 시크릿이 최종 이미지에 노출될 위험을 줄여 보안을 강화합니다.

빌더 스테이지와 런타임 스테이지를 분리하면, 빌더 스테이지에서는 애플리케이션을 빌드하고 필요한 아티팩트만 생성합니다. 이후 런타임 스테이지에서는 이 빌드 산출물만을 복사하여 최종 이미지를 만듭니다.

이러한 분리는 이미지 크기를 크게 줄여줍니다. 왜냐하면 컴파일러, SDK, 테스트 도구 등 빌드에만 필요한 요소들이 런타임 이미지에 포함되지 않기 때문입니다. 또한, 빌드 시 사용된 API 키나 비밀번호 같은 민감한 정보가 런타임 이미지에 남지 않아 보안 측면에서도 훨씬 안전해집니다. 결국, 더 작고 안전한 이미지를 얻을 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 DevOps / CI·CD 면접 질문

← DevOps / CI·CD 면접 질문 전체 보기