Update Dockerfile

This commit is contained in:
2025-11-09 00:56:50 +07:00
parent b3c3ca9cf3
commit f6019f12ea
+35 -11
View File
@@ -1,22 +1,46 @@
FROM amazoncorretto:21.0.5-alpine AS deps
WORKDIR /build
COPY --chmod=0755 gradlew gradlew
COPY gradle/ gradle/
COPY build.gradle.kts settings.gradle.kts ./
RUN --mount=type=cache,target=/root/.gradle \
./gradlew dependencies --no-daemon
FROM deps AS package
RUN --mount=type=bind,source=build.gradle.kts,target=build.gradle.kts \
--mount=type=bind,source=settings.gradle.kts,target=settings.gradle.kts \
--mount=type=cache,target=/root/.gradle \
./gradlew dependencies --no-daemon --parallel --build-cache
FROM deps as package
WORKDIR /build
COPY ./src src/
RUN --mount=type=cache,target=/root/.gradle \
--mount=type=cache,target=/build/build \
./gradlew shadowJar -x check -x test --no-daemon --parallel --build-cache \
&& cp build/libs/*-all.jar app.jar
RUN --mount=type=bind,source=build.gradle.kts,target=build.gradle.kts \
--mount=type=bind,source=settings.gradle.kts,target=settings.gradle.kts \
--mount=type=cache,target=/root/.gradle \
./gradlew clean build -x check -x test --no-daemon --parallel --build-cache && \
mv build/libs/*-all.jar build/libs/app.jar || \
mv build/libs/*.jar build/libs/app.jar
FROM amazoncorretto:21.0.5-alpine AS final
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
ARG UID=10001
RUN adduser \
--disabled-password \
--gecos "" \
--home "/nonexistent" \
--shell "/sbin/nologin" \
--no-create-home \
--uid "${UID}" \
appuser
USER appuser
WORKDIR /app
COPY --from=package --chown=appuser:appgroup /build/app.jar app.jar
ENTRYPOINT [ "sh", "-c", "java ${JAVA_OPTS} -jar app.jar" ]
COPY --from=package /build/build/libs/app.jar app.jar
ENTRYPOINT ["java", "${JAVA_OPTS}", "-jar" "app.jar"]