-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
36 lines (28 loc) · 764 Bytes
/
Dockerfile
File metadata and controls
36 lines (28 loc) · 764 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
36
FROM openjdk:21-jdk-slim as builder
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN apt-get update && apt-get install -y maven && \
mvn clean package -DskipTests && \
mv target/*.jar app.jar
FROM openjdk:21-jdk-slim
WORKDIR /app
ENV JAVA_OPTS="-server \
-XX:+UseG1GC \
-XX:+UseStringDeduplication \
-XX:+DisableExplicitGC \
-XX:MaxGCPauseMillis=5 \
-XX:G1HeapRegionSize=2m \
-Xmx100m \
-Xms100m \
-XX:MaxDirectMemorySize=10m \
-XX:+TieredCompilation \
-XX:TieredStopAtLevel=1 \
-XX:+AlwaysPreTouch \
-XX:+UseFastUnorderedTimeStamps \
-Xlog:disable \
-XX:-PrintGC \
-XX:-PrintGCDetails"
COPY --from=builder /app/app.jar .
EXPOSE 8080
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]