/etc/timezone \ # apk del tzdata #RUN mkdir /opt/app #COPY --from=builder build/libs/*.jar /opt/app/application.jar #ENTRYPOINT ["java", "-jar", "/opt/app/application.jar"] ## corretto 에서 JRE만 사용 FROM amazoncorretto:21-alpine as corretto-jdk # required for strip-debug to work RUN apk add --no-cache binutils # Build small JRE image RUN jlink \ --add-modules ALL-MODULE-PATH \ --strip-debug \ --no-man-pages \ --no-header-files \ --compress=2 \ --output /jre ## alpine 기본 이미지에 JRE만 옮겨서 사용 FROM alpine:latest ENV JAVA_HOME=/jre ENV PATH="${JAVA_HOME}/bin:$"> /etc/timezone \ # apk del tzdata #RUN mkdir /opt/app #COPY --from=builder build/libs/*.jar /opt/app/application.jar #ENTRYPOINT ["java", "-jar", "/opt/app/application.jar"] ## corretto 에서 JRE만 사용 FROM amazoncorretto:21-alpine as corretto-jdk # required for strip-debug to work RUN apk add --no-cache binutils # Build small JRE image RUN jlink \ --add-modules ALL-MODULE-PATH \ --strip-debug \ --no-man-pages \ --no-header-files \ --compress=2 \ --output /jre ## alpine 기본 이미지에 JRE만 옮겨서 사용 FROM alpine:latest ENV JAVA_HOME=/jre ENV PATH="${JAVA_HOME}/bin:$"> /etc/timezone \ # apk del tzdata #RUN mkdir /opt/app #COPY --from=builder build/libs/*.jar /opt/app/application.jar #ENTRYPOINT ["java", "-jar", "/opt/app/application.jar"] ## corretto 에서 JRE만 사용 FROM amazoncorretto:21-alpine as corretto-jdk # required for strip-debug to work RUN apk add --no-cache binutils # Build small JRE image RUN jlink \ --add-modules ALL-MODULE-PATH \ --strip-debug \ --no-man-pages \ --no-header-files \ --compress=2 \ --output /jre ## alpine 기본 이미지에 JRE만 옮겨서 사용 FROM alpine:latest ENV JAVA_HOME=/jre ENV PATH="${JAVA_HOME}/bin:$">
## Builder
FROM amazoncorretto:21-alpine AS builder
COPY gradlew .
COPY settings.gradle.kts .
COPY build.gradle.kts .
COPY gradle.properties .
COPY gradle gradle
COPY src src
RUN ./gradlew clean buildfatjar
## OpenJdk:17 이미지 : JRE가 오류가 생겼을 시 대체사항
#FROM openjdk:17-alpine
#RUN apk --no-cache add tzdata && \\
# cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \\
# echo "Asia/Seoul" > /etc/timezone \\
# apk del tzdata
#RUN mkdir /opt/app
#COPY --from=builder build/libs/*.jar /opt/app/application.jar
#ENTRYPOINT ["java", "-jar", "/opt/app/application.jar"]
## corretto 에서 JRE만 사용
FROM amazoncorretto:21-alpine as corretto-jdk
# required for strip-debug to work
RUN apk add --no-cache binutils
# Build small JRE image
RUN jlink \\
--add-modules ALL-MODULE-PATH \\
--strip-debug \\
--no-man-pages \\
--no-header-files \\
--compress=2 \\
--output /jre
## alpine 기본 이미지에 JRE만 옮겨서 사용
FROM alpine:latest
ENV JAVA_HOME=/jre
ENV PATH="${JAVA_HOME}/bin:${PATH}"
## 기본 UTC 이므로 한국시간으로 변경
RUN apk --no-cache add tzdata && \\
cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \\
echo "Asia/Seoul" > /etc/timezone \\
apk del tzdata
COPY --from=corretto-jdk /jre $JAVA_HOME
COPY --from=builder build/libs/*.jar /opt/app/application.jar
ENTRYPOINT ["java", "-jar", "/opt/app/application.jar"]