Docker Alpine + Oracle Java: не удается найти JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Docker Alpine + Oracle Java: не удается найти Java

Сообщение Anonymous »

Я пытался создать образ докера на основе Alpine с помощью Oracle Java (а не openjdk). Меня специально попросили создать здесь наш собственный образ.
Это Dockerfile, который я придумал:

Код: Выделить всё

FROM alpine:3.6

RUN apk add --no-cache curl wget

RUN mkdir /opt/ && \
wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie"\
http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz && \
tar xvf jdk-8u131-linux-x64.tar.gz -C /opt/ && \
rm jdk-8u131-linux-x64.tar.gz && \
ln -s /opt/jdk1.8.0_131 /opt/jdk

ENV JAVA_HOME /opt/jdk
ENV PATH $PATH:/opt/jdk/bin

RUN echo $JAVA_HOME && \
echo $PATH

RUN which java
RUN java -version
Есть несколько ненужных команд (например, отображение каталога JAVA_HOME), которые были добавлены для облегчения отладки, но теперь я застрял: RUN, который java возвращает /opt/jdk /bin/java, как и ожидалось, но RUN java -version возвращает /bin/sh: java: not Found.
Я пробовал несколько вещей, включая символическую ссылку исполняемый файл(ы) в /usr/bin, безрезультатно.
Что мне не хватает?
РЕДАКТИРОВАТЬ:
Окончательный результат докер это:

Код: Выделить всё

The command '/bin/sh -c java -version' returned a non-zero code: 127
Окончательное редактирование:
Спасибо @diginoise за то, что познакомил меня с MUSL и libc. Я обнаружил, что добавление следующего в мой файл Dockerfile позволило мне создать рабочий образ:

Код: Выделить всё

RUN apk --no-cache add ca-certificates && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk && \
apk add glibc-2.25-r0.apk
Найдено по адресу: https://github.com/sgerrand/alpine-pkg-glibc

Подробнее здесь: https://stackoverflow.com/questions/451 ... -find-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»