-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
38 lines (30 loc) · 1.1 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
32
33
34
35
36
37
38
FROM eclipse-temurin:21.0.4_7-jre
EXPOSE 8080
ENV PORT=8080 \
DATABASE_URL="jdbc:postgresql://localhost/territorybro?user=territorybro&password=territorybro"
# the user should have no write permissions, even to its home
RUN useradd --no-create-home --home /app app && \
mkdir /app
WORKDIR /app
COPY target/uberjar/territory-bro.jar /app/
# prepare AppCDS shared archive
COPY target/uberjar/classes.list /app/
RUN java -Xshare:dump \
-XX:SharedClassListFile=classes.list \
-XX:SharedArchiveFile=classes.jsa \
--class-path territory-bro.jar && \
rm classes.list
USER app
ENTRYPOINT ["java", \
"-Xshare:on", "-XX:SharedArchiveFile=classes.jsa", \
"-XX:MaxRAMPercentage=70", \
"-XX:+PrintCommandLineFlags", \
"-jar", "territory-bro.jar"]
ARG GIT_COMMIT
ENV GIT_COMMIT=$GIT_COMMIT
ARG BUILD_TIMESTAMP
ENV BUILD_TIMESTAMP=$BUILD_TIMESTAMP
# The version number is not known at CI build time, but it's included
# here as a reminder of its existence, and for use during a local build.
ARG RELEASE_VERSION
ENV RELEASE_VERSION=$RELEASE_VERSION