我正在尝试在没有任何操作系统的情况下使用 JRE 创建图像。我试过这个 Dockerfile,但它不起作用。
FROM openjdk:11.0.1-jdk-oraclelinux7 as JDK
RUN jlink --no-header-files --no-man-pages --add-modules java.base,java.desktop,java.logging,java.sql --output /jre
FROM scratch
#FROM oraclelinux:7-slim
COPY --from=JDK /jre /jre
ARG JAR_FILE
COPY ${JAR_FILE} /app.jar
CMD ["/jre/bin/java", "-jar", "/app.jar"]
我收到以下错误:
standard_init_linux.go:190: exec user process caused "no such file or directory"
如果我用 oraclelinux 替换 scratch,它工作正常。任何我不能使用 scratch 的线索。使用 scratch 的原因是为了减小图像的大小。
感谢任何帮助。
最佳答案
热点源目前不支持静态链接。参见 http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-September/010810.html了解更多信息。
关于java - 从头开始为 JRE 创建 Docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55416831/