1
- # Adapted from: https://github.com/PaperMC/bibliothek/blob/063cc014193b6ea160b3cabc7b93f70009e1fb2a/Dockerfile
2
- ARG JAVA_VERSION=17
3
- ARG JVM_FLAVOR=hotspot
4
-
5
- FROM eclipse-temurin:${JAVA_VERSION}-jdk-alpine AS builder
6
- WORKDIR /build
7
-
8
- COPY ./ ./
9
- RUN ./gradlew clean buildForDocker --no-daemon
10
-
11
-
12
- ARG JAVA_VERSION
13
- ARG JVM_FLAVOR
14
-
15
- FROM eclipse-temurin:${JAVA_VERSION}-alpine
16
- WORKDIR /app
1
+ FROM eclipse-temurin:17-alpine
17
2
18
3
# Install curl for the healthcheck
19
4
RUN apk update && apk add curl
20
5
21
6
RUN addgroup -S pingapi \
22
7
&& adduser -S pingapi -G pingapi \
23
- && chown -R pingapi:pingapi /app
8
+ && chown -R pingapi:pingapi /opt/ app
24
9
USER pingapi:pingapi
25
10
11
+ WORKDIR /opt/app
12
+
13
+ COPY build/libs/ServerPingApi.jar ServerPingApi.jar
14
+ COPY ./docker/default.application.yaml ./default.application.yaml
15
+
26
16
EXPOSE 8080
27
17
28
18
# We override default config location search path,
@@ -31,7 +21,6 @@ EXPOSE 8080
31
21
# but they take precedence over config file
32
22
# https://docs.spring.io/spring-boot/docs/1.5.6.RELEASE/reference/html/boot-features-external-config.html
33
23
ENV SPRING_CONFIG_LOCATION="optional:classpath:/,optional:classpath:/config/,file:./default.application.yaml,optional:file:./,optional:file:./config/"
34
- COPY ./docker/default.application.yaml ./default.application.yaml
35
24
36
25
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s \
37
26
--retries=3 CMD [ "sh" , "-c" , "echo -n 'curl localhost:8080... '; \
@@ -41,5 +30,5 @@ HEALTHCHECK --interval=30s --timeout=30s --start-period=5s \
41
30
echo Fail && exit 2\
42
31
)" ]
43
32
44
- COPY --from=builder /build/build/libs/docker/serverpingapi.jar ./
45
- CMD ["java" , "-jar" , "/app/serverpingapi .jar" ]
33
+
34
+ CMD ["java" , "-jar" , "ServerPingApi .jar" ]
0 commit comments