-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
31 lines (22 loc) · 1.04 KB
/
Dockerfile
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
ARG BUILD_TAG=7.0.0-jdk11-hotspot
ARG RUN_TAG=11.0.7_10-jre-hotspot-bionic
FROM gradle:${BUILD_TAG} AS build-env
WORKDIR /src
# Copy project .dockerignore prevents copy of unnecessary files
COPY . .
# Gradle task to build, test, run lint and extract dependencies with daemon disabled
RUN gradle extractUberJar --no-daemon --stacktrace
FROM adoptopenjdk:${RUN_TAG} AS run-env
RUN useradd -m spring && usermod -a -G spring spring \
&& mkdir -p /app/resources \
&& chown spring /app/resources \
&& mkdir -p /app/resources/output \
&& chown spring /app/resources/output \
&& mkdir -p /app/staging \
&& chown spring /app/staging
USER spring:spring
ARG EXTRACT_DEPENDENCY_PATH=/src/build/dependency
# Copy dependencies in multi layers
COPY --from=build-env ${EXTRACT_DEPENDENCY_PATH}/BOOT-INF/classes /app
COPY --from=build-env ${EXTRACT_DEPENDENCY_PATH}/BOOT-INF/lib /app/lib
ENTRYPOINT [ "java", "-cp", "app:app/lib/*", "org.ionproject.integration.IOnIntegrationApplicationKt", "-XX:+UseContainerSupport", "echo --server.port=$PORT" ]