forked from BackEndSchoolPlus3th/StockNote_BE
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
35 lines (25 loc) · 854 Bytes
/
Dockerfile
File metadata and controls
35 lines (25 loc) · 854 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 첫 번째 스테이지: 빌드 스테이지
FROM gradle:jdk21-graal-jammy as builder
# 작업 디렉토리 설정
WORKDIR /app
# 소스 코드와 Gradle 래퍼 복사
COPY gradlew .
COPY gradle gradle
COPY build.gradle.kts .
COPY settings.gradle.kts .
# Gradle 래퍼에 실행 권한 부여
RUN chmod +x ./gradlew
# 종속성 설치
RUN ./gradlew dependencies --no-daemon
# 소스 코드 복사
COPY src src
# 애플리케이션 빌드 (테스트 스킵)
RUN ./gradlew clean build -x test --no-daemon
# 두 번째 스테이지: 실행 스테이지
FROM ghcr.io/graalvm/jdk-community:21
# 작업 디렉토리 설정
WORKDIR /app
# 첫 번째 스테이지에서 빌드된 JAR 파일 복사
COPY --from=builder /app/build/libs/*.jar app.jar
# 실행할 JAR 파일 지정
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]