-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile-my-jdk
More file actions
55 lines (44 loc) · 2.56 KB
/
Dockerfile-my-jdk
File metadata and controls
55 lines (44 loc) · 2.56 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
# !!!! Create image after build PRRODUCTON in IntelliJ - copy from ./build/install/query-gra
#https://stackoverflow.com/questions/71577703/how-do-i-make-a-artifact-stored-in-googles-artifact-registry-public
FROM eclipse-temurin:23-jdk-alpine AS my-jdk
# required for strip-debug to work
RUN apk add --no-cache binutils
#https://careers.wolt.com/en/blog/tech/how-to-reduce-jvm-docker-image-size
#https://stackoverflow.com/questions/55439599/sslhandshakeexception-with-jlink-created-runtime
#https://habr.com/ru/companies/piter/articles/692992/
#https://javadeveloperzone.com/common-error/java-lang-module-findexception-two-versions-module-found-outputmlib/
#jdeps --print-module-deps --ignore-missing-deps --recursive --multi-release 17 --class-path="./build/install/query-gra/lib/*" ./build/install/query-gra/lib/query-gra-jvm-1.2.jar
# Build small JRE image
# --add-modules ALL-MODULE-PATH \
# without jsr223 --add-modules java.base,jdk.crypto.ec,java.sql,java.management,java.naming \
#! without jsr223 --add-modules java.base,java.sql,java.management,java.naming,jdk.unsupported \
# with jsr223 --add-modules java.base,java.sql,java.management,java.naming,java.desktop,java.scripting,jdk.unsupported \
# jdeps: java.base,java.management,java.naming,java.net.http,java.security.jgss,java.security.sasl,java.sql,jdk.httpserver,jdk.unsupported \
# jdep jsr223 : java.base,java.compiler,java.desktop,java.instrument,java.management,java.naming,java.scripting,java.security.jgss,java.security.sasl,java.sql,jdk.unsupported
RUN $JAVA_HOME/bin/jlink \
--verbose \
--add-modules java.base,java.sql,java.management,java.naming,jdk.unsupported \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /customjre
# main app image
FROM alpine:latest
ENV JAVA_HOME=/jre
ENV PATH="${JAVA_HOME}/bin:${PATH}"
COPY --from=my-jdk /customjre $JAVA_HOME
COPY --chmod=777 ./build/install/query-gra /app/
WORKDIR /app/bin
EXPOSE 9090
CMD ["./query-gra"]
#ENTRYPOINT [ "java", "-jar", "query-gra.jar" ]
# sudo docker build -f ./Dockerfile-my-jdk -t borisgra/query-gra:latest .
# sudo docker buildx build -f ./Dockerfile-my-jdk --progress=plain -t borisgra/query-gra:latest . 2>&1 | tee build.log
# sudo docker buildx build -f ./Dockerfile-my-jdk --no-cache -t borisgra/query-gra:latest .
# sudo docker login -u borisgra
# sudo docker push borisgra/query-gra:latest
# sudo docker pull borisgra/query-gra:latest
# sudo docker run borisgra/query-gra:latest -p 5004:5004
#docker builder prune # clear cache
#docker image tag d583c3ac45fd borisgra/query-gra:tagname