Проблема с копированием JRE в docker и выполнением команды java - PullRequest
1 голос
/ 14 января 2020

Я копирую рабочую версию каталога JRE в docker и пытаюсь запустить / JRE / bin / java. Но выдает a sh: java not found error. Я делаю то же самое в linux VM. Просто скопируйте папку JRE и выполните команду java, которая прекрасно работает в ВМ. Я не хочу скачивать JRE из любого места. Требуется указать это c JRE в комплекте. Как решить эту проблему.

Я вошел в консоль оболочки и перешел в каталог JRE / bin / и выполнил "java". даже тогда это терпит неудачу. Ошибка такая же a sh: java not found error.

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}"

1 Ответ

1 голос
/ 14 января 2020

Когда вы копируете каталог JRE в docker? т.е. Docker время сборки или после вращения контейнера Docker?

Похоже, вы правильно копируете локальный каталог Java в образ, однако текущее местоположение не может получить доступ к двоичным файлам java, таким образом, обязательно установите PATH. Это должно быть что-то вроде

RUN export PATH=/JRE/bin:${PATH}

или передать путь к ENV в Dockerfile,

ENV PATH="/JRE/bin:${PATH}"
...