-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile25
More file actions
56 lines (41 loc) · 1.75 KB
/
Copy pathDockerfile25
File metadata and controls
56 lines (41 loc) · 1.75 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# ============================
# 1. Build Stage (Java 25)
# ============================
FROM registry.access.redhat.com/ubi10/openjdk-25:latest AS build
WORKDIR /app
RUN mkdir -p /app/config /app/data && \
touch /app/config/.keep /app/data/.keep && \
chmod -R g+w /app/config /app/data
COPY pom.xml .
RUN --mount=type=cache,target=/root/.m2 mvn -q -DskipTests dependency:go-offline
COPY src ./src
RUN --mount=type=cache,target=/root/.m2 mvn -q -DskipTests package
# ============================
# 2. Runtime Stage (Java 25)
# ============================
FROM registry.access.redhat.com/ubi10/openjdk-25-runtime:latest
# OCI-konforme Labels
LABEL org.opencontainers.image.title="KubeEvent Java" \
org.opencontainers.image.description="Kubernetes Event Watcher and Dashboard" \
org.opencontainers.image.version="0.0.1-SNAPSHOT" \
org.opencontainers.image.vendor="wlanboy" \
org.opencontainers.image.source="https://github.com/wlanboy/kubeeventjava" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.base.name="eclipse-temurin:25-jre"
WORKDIR /app
USER 185
COPY --from=build --chown=185:0 /app/config /app/config
COPY --from=build --chown=185:0 /app/data /app/data
COPY --from=build --chown=185:185 /app/target/kubeevent-0.0.1-SNAPSHOT.jar app.jar
COPY --chown=185:185 containerconfig/application.properties /app/config/application.properties
EXPOSE 8080
ENTRYPOINT ["java", \
"-Djava.security.egd=file:/dev/./urandom", \
"-XX:MaxRAMPercentage=50", \
"-XX:InitialRAMPercentage=30", \
"-XX:+UseG1GC", \
"-XX:MaxGCPauseMillis=200", \
"-XX:+ExplicitGCInvokesConcurrent", \
"-XX:+ExitOnOutOfMemoryError", \
"-Dspring.config.location=file:/app/config/application.properties", \
"-jar", "app.jar"]