簡體   English   中英

將 JRE 復制到 docker 並運行 java 命令的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM