320x100
320x100
멀티스테이지 빌드
: 개발 환경용 이미지와 제품 환경용 이미지를 한 파일로 작성하여 이미지의 빌드 속도를 올리는 방법
: 빌드용 이미지와 배포용 이미지를 한 도커파일에 작성
: Docker 3버전 부터 지원
※ 알파인 리눅스 패키지 검색
: https://pkgs.alpinelinux.org/packages
예제 (https://github.com/KNUT-Mohaemookji/mohaemookji)
# Build Image
FROM node:14.17.6 AS builder
COPY . /usr/local/mohaemookji
# frontend library install and build
WORKDIR /usr/local/mohaemookji/mh-frontend
RUN npm install && npm run build
# main server library install and build
WORKDIR /usr/local/mohaemookji/
RUN npm install && npm run build
# Main Container
FROM alpine:edge
# build file loading from builder image
COPY --from=builder /usr/local/mohaemookji/dist /usr/local/mohaemookji
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime \
&& apk add --update nodejs=16.13.0-r0 \
&& apk add --update npm
EXPOSE 17260
ENTRYPOINT ["node", "/usr/local/mohaemookji/main.js"]
실행결과
: 기존 1기가에 육박하였던 2mukee/mh_api_deploy와 2mukee/mh_main_deploy 이미지가
무려 57MB로 크게 줄어들어 리소스 사용량이 줄었다.
300x250
728x90
'Container > Docker' 카테고리의 다른 글
required by: world[package] 오류 해결법 (0) | 2021.12.15 |
---|---|
spring 멀티스테이지 빌드 Docker 이미지 (0) | 2021.11.24 |
Docker multi-stage build에 대해서 (0) | 2021.10.23 |
클라우드 환경에서 Docker 컨테이너 오케스트레이션 환경 구축 (0) | 2021.10.19 |
구글 클라우드 플랫폼을 이용하여 도커 private 이미지 관리 (0) | 2021.10.19 |