-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathDockerfile
More file actions
68 lines (57 loc) · 2.33 KB
/
Dockerfile
File metadata and controls
68 lines (57 loc) · 2.33 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
FROM eclipse-temurin:21-jdk-alpine AS app-builder
COPY mvnw pom.xml ./
COPY .mvn .mvn
COPY ohsome-planet-common/pom.xml ohsome-planet-common/pom.xml
COPY ohsome-contributions/pom.xml ohsome-contributions/pom.xml
COPY ohsome-parquet/pom.xml ohsome-parquet/pom.xml
COPY ohsome-planet-cli/pom.xml ohsome-planet-cli/pom.xml
COPY ohsome-replication/pom.xml ohsome-replication/pom.xml
COPY ohsome-changesets/pom.xml ohsome-changesets/pom.xml
COPY ohsome-replication-update/pom.xml ohsome-replication-update/pom.xml
COPY ohsome-output-s3/pom.xml ohsome-output-s3/pom.xml
COPY ohsome-output/pom.xml ohsome-output/pom.xml
COPY osm-changesets/pom.xml osm-changesets/pom.xml
COPY osm-geometry/pom.xml osm-geometry/pom.xml
COPY osm-pbf/pom.xml osm-pbf/pom.xml
COPY osm-types/pom.xml osm-types/pom.xml
COPY osm-xml/pom.xml osm-xml/pom.xml
RUN ./mvnw dependency:go-offline
COPY ohsome-planet-common/src ohsome-planet-common/src
COPY ohsome-contributions/src ohsome-contributions/src
COPY ohsome-parquet/src ohsome-parquet/src
COPY ohsome-planet-cli/src ohsome-planet-cli/src
COPY ohsome-replication/src ohsome-replication/src
COPY ohsome-changesets/src ohsome-changesets/src
COPY ohsome-replication-update/src ohsome-replication-update/src
COPY ohsome-output-s3/src ohsome-output-s3/src
COPY ohsome-output/src ohsome-output/src
COPY osm-changesets/src osm-changesets/src
COPY osm-geometry/src osm-geometry/src
COPY osm-pbf/src osm-pbf/src
COPY osm-types/src osm-types/src
COPY osm-xml/src osm-xml/src
RUN ./mvnw package -DskipTests
FROM eclipse-temurin:21-alpine AS jre-builder
RUN $JAVA_HOME/bin/jlink \
--add-modules java.base \
--add-modules java.logging \
--add-modules java.management \
--add-modules java.naming \
--add-modules java.sql \
--add-modules java.xml \
--add-modules jdk.crypto.ec \
--add-modules jdk.httpserver \
--add-modules jdk.unsupported \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime
FROM alpine:3
RUN --mount=type=cache,target=/etc/apk/cache apk add --update-cache libstdc++
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH="${JAVA_HOME}/bin:${PATH}"
COPY --from=jre-builder /javaruntime $JAVA_HOME
COPY --from=app-builder ohsome-planet-cli/target/ohsome-planet.jar /ohsome-planet.jar
ENV JAVA_OPTS=""
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /ohsome-planet.jar $0 $@"]