도커 강의를 보다 멀티 스테이징(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 같은 실행 파일들이 이미지 안에 포함된다.
마무리
간단하게 개념만 정리한 거라 짧긴한데 여기서 더 보태보태 해서 개념을 잡아가야겠다.
추가 목표: 스프링 부트 프로젝트 작게 만들어서 앱 빌드 / 도커 빌드 까지 실습해보고 포스팅 하기
'공부일지 > 개인학습' 카테고리의 다른 글
NGINX, 러시아에서 태어난 웹 서버 (0) | 2025.04.21 |
---|---|
[Docker #2] 이미지와 컨테이너 (1) | 2025.04.19 |
[Docker #1] 도커, 뭐가 다른가 (0) | 2025.04.17 |
라우터(Router) 구성요소들 분석 (0) | 2025.04.15 |
NAT(Network Address Translation) (0) | 2025.04.14 |