mirror of
https://github.com/tiennm99/store-scraper-bot-java.git
synced 2026-05-15 21:53:11 +00:00
Update Dockerfile
This commit is contained in:
+35
-11
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user