도커 강의를 보다 멀티 스테이징(Multi-Stage Build)에 관한 내용이 나왔다.

이 기능은 이미지의 용량을 줄이기 위해 애플리케이션 빌드와 실제 도커 빌드를 한 도커파일에서 나눈 것이다.

 

여기서 애플리케이션 빌드와 도커 빌드에 대해서 한 번 정리하고 가야할 거 같았다.

 

 


애플리케이션 빌드

소스코드를 실행 가능한 형태로 변환하는 과정

 

프레임워크 / 언어 별로 생성물이 다르다.

  • Java(Spring Boot): ./gradlew build → .jar 생성
  • Node.js(React, Vue): npm run build → /dist 폴더 생성
  • Go: go build → 실행 파일(binary) 생성

즉, 내 코드 + 의존성 라이브러리 + 설정 파일이 합쳐진 최종 결과물을 만드는 단계다.

 


 

도커 빌드

Dockerfile에 정의된 명령어를 기반으로 이미지 파일을 생성하는 과정이다.
이 과정에서 위에서 만든 애플리케이션 빌드 결과물을 이미지에 넣어
컨테이너에서 실행할 수 있는 형태로 만드는 것이 핵심이다.

docker build -t myapp:latest .

→ 이때 .jar, dist/, main 같은 실행 파일들이 이미지 안에 포함된다.

 

 

 

 

 

마무리

간단하게 개념만 정리한 거라 짧긴한데 여기서 더 보태보태 해서 개념을 잡아가야겠다.

 

추가 목표: 스프링 부트 프로젝트 작게 만들어서 앱 빌드 / 도커 빌드 까지 실습해보고 포스팅 하기

 

+ Recent posts