【发布时间】:2020-01-14 09:02:56
【问题描述】:
我正在将 JRE 目录的工作版本复制到 docker 并尝试运行 /JRE/bin/java。 但它会抛出 ash: java not found 错误。我在 linux VM 中做同样的事情。只需复制 JRE 文件夹并执行在 VM 中运行良好的 java 命令。我不想从任何地方下载 JRE。 想要捆绑这个特定的 JRE。如何解决这个问题。
我进入 shell 控制台并导航到 JRE/bin/ 目录并执行“java”。即使那样它也失败了。错误是相同的 ash: java not found 错误。
Dockerfile:
FROM alpine:latest
ENV HOME=/root \
DEBIAN_FRONTEND=noninteractive \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
DISPLAY=:0.0 \
DISPLAY_WIDTH=1024 \
DISPLAY_HEIGHT=768
RUN apk --update --upgrade add \
bash \
fluxbox \
x11vnc \
xterm \
xvfb
COPY MyJavaApp MyJavaApp/
WORKDIR /MyJavaApp
ENV PATH="./JRE/bin:${PATH}"
【问题讨论】:
-
为什么不使用 JRE docker 镜像来构建应用程序?如果你需要一个样本,那么你可以使用我在下面链接中的 docker 文件github.com/naveenkulkarni029/products-api/blob/master/…
-
“只需复制 JRE 文件夹并执行在 VM 中可以正常工作的 java 命令” - 告诉我在运行 Java 的 VM 中已经可以正常工作而无需复制任何内容。
-
请分享 Dockerfile 以了解 ENV 设置
-
您显示的 Dockerfile 中没有任何内容安装 Java,并且您没有使用包含它的基本映像(
alpine非常少)。您是否希望运行java可以工作,如果可以,为什么? -
我没有安装 java ..只是复制 JRE 文件夹并从 bin 文件夹中调用“java” ..它适用于 Linux 机器。我期待这个 alpine 也一样
标签: java docker dockerfile containers javac