-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
38 lines (27 loc) · 1.04 KB
/
Dockerfile
File metadata and controls
38 lines (27 loc) · 1.04 KB
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
36
37
38
# 첫 번째 스테이지: 빌드 스테이지
FROM gradle:jdk-21-and-23-graal-jammy AS builder
# 작업 디렉토리 설정
WORKDIR /app
# 소스 코드와 Gradle 래퍼 복사
COPY build.gradle.kts .
COPY settings.gradle.kts .
# 종속성 설치
RUN gradle dependencies --no-daemon
# 소스 코드 복사
COPY .env .
COPY src src
# 애플리케이션 빌드
RUN gradle build --no-daemon
# 두 번째 스테이지: 실행 스테이지
FROM container-registry.oracle.com/graalvm/jdk:21
# 작업 디렉토리 설정
WORKDIR /app
# 첫 번째 스테이지에서 빌드된 JAR 파일 복사
COPY --from=builder /app/build/libs/*.jar app.jar
COPY --from=builder /app/.env .env
# Elasticsearch 사전 파일을 별도 경로로 복사
# COPY --from=builder /app/src/main/resources/elasticsearch/user_dictionary.txt /es-dict/user_dictionary.txt
# COPY --from=builder /app/src/main/resources/elasticsearch/synonyms.txt /es-dict/synonyms.txt
RUN mkdir /data
# 실행할 JAR 파일 지정
ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-jar", "app.jar"]