Choose a default theme

You can change your theme from the menu

Docker 다단계 빌드

Docker 다단계 빌드는 하나의 Dockerfile에서 여러 빌드 단계를 나누어 필요한 산출물만 최종 이미지로 옮기는 방식이다.

원리

여러 FROM 지시문으로 단계를 만들고 COPY --from으로 이전 단계의 결과를 가져온다. 컴파일 도구와 실행 환경을 분리할 수 있다.

예시

첫 단계에서 Go 프로그램을 빌드하고 두 번째 단계에는 실행 파일과 필요한 런타임 자료만 복사하면 배포 이미지의 불필요한 내용을 줄일 수 있다.

주의할 점

작은 이미지가 자동으로 올바르게 실행되는 것은 아니다. 동적 라이브러리, 인증서, 시간대 자료 등 필요한 의존성을 확인하고 최종 단계에서도 취약점과 권한을 검토한다.

참고 자료