728x90
개요
Docker Hub에 이미지를 push하다가 궁금한 점이 생겼습니다. 위 이미지를 보면 기본 이미지만으로도 상당한 크기를 차지하는데, 여기에 애플리케이션의 크기가 커지면 부담이 되지 않을까 하는 궁금증이 생겼습니다.
본 글에서는 Docker 이미지 푸시의 작동방식에 대해서 정리하고자 합니다.
Docker 이미지 푸시의 작동 방식
베이스 이미지의 재사용
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "start"]
예를 들어 Node.js 애플리케이션을 도커라이즈할 때, 우리는 보통 위와 같은 Dockerfile을 작성합니다.
이때 FROM node:14 행은 Node.js 공식 이미지를 베이스로 사용한다는 의미입니다. 이 이미지는 이미 Docker Hub에 존재하기 때문에, 푸시 시에는 이 베이스 이미지의 레이어들은 제외됩니다.
실제로 push되는 내용
Docker Hub에 푸시될 때는 다음 내용만 포함됩니다:
- 여러분의 애플리케이션 코드
- package.json과 같은 의존성 정의 파일
- npm install 실행 결과
- 기타 커스텀 설정들
최적화의 이점
이러한 방식의 장점은 다음과 같습니다:
- 네트워크 대역폭 절약
- 저장 공간 효율성
- 빌드 및 배포 시간 단축
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.01.03 - IntelliJ IDEA에서 Excluded Files(제외된 파일) 확인 및 표시하는 방법 (0) | 2025.01.03 |
---|---|
[TIL, 일일 회고] 2025.01.02 - 계단 수란? (DP, 재귀) (0) | 2025.01.02 |
[TIL, 일일 회고] 2024.12.31 - Docker Hub 네임스페이스와 Push 권한 이해하기 (0) | 2024.12.31 |
[TIL, 일일 회고] 2024.12.30 - TCP 통신에서 3-way handshake는 필수인가❓ (0) | 2024.12.30 |
[TIL, 일일 회고] 2024.12.29 - 브라우저 주소창의 숨겨진 GET 요청 (0) | 2024.12.29 |