Container/Docker
spring 멀티스테이지 빌드 Docker 이미지
2mukee
2021. 11. 24. 01:32
320x100
320x100
멀티스테이지 빌드
: 개발 환경용 이미지와 제품 환경용 이미지를 한 파일로 작성하여 이미지의 빌드 속도를 올리는 방법
: 빌드용 이미지와 배포용 이미지를 한 도커파일에 작성
: Docker 3버전 부터 지원
※ 알파인 리눅스 패키지 검색
: https://pkgs.alpinelinux.org/packages
예제 (https://github.com/KNUT-Capstone-Design-team-1/new-what-is-pill)
# Build Image
FROM openjdk:11 AS builder
COPY . /usr/src/wip
# Main server Build
WORKDIR /usr/src/wip/
RUN bash ./gradlew build -x test
# Main Container
FROM alpine:edge
COPY --from=builder /usr/src/wip/build/libs/pill-0.0.1-SNAPSHOT.jar /usr/src/wip/main_server.jar
WORKDIR /usr/src/wip/
# timezone setting and openjdk install
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime \
&& apk add --update openjdk11=11.0.13_p8-r0
EXPOSE 8080
ENTRYPOINT [ "java", "-jar", "/usr/src/wip/main_server.jar" ]
300x250
728x90