[英]Issue with copy JRE into docker and run java command
我正在將 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 構建時間還是在啟動 Docker 容器之后?
看起來您正確地將本地 Java 目錄復制到圖像,但是當前位置無法訪問 Java 二進制文件,因此,請確保設置 PATH。 它應該是這樣的,
RUN export PATH=/JRE/bin:${PATH}
或將路徑傳遞到 Dockerfile 中的 ENV,
ENV PATH="/JRE/bin:${PATH}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.