Как установить oracle jdk11 в образ Alpine linux docker? - PullRequest
0 голосов
/ 01 февраля 2020

Мой Dockerfile:

FROM frolvlad/alpine-glibc:latest

ADD jdk-11.0.6_linux-x64_bin.tar.gz /usr/java

ENV JAVA_HOME=/usr/java/jdk-11.0.6
ENV PATH=$JAVA_HOME/bin:$PATH

Когда я запускаю команду java -version в контейнере, я получаю это segfault: enter image description here

Как я могу решить эту проблему?

1 Ответ

3 голосов
/ 01 февраля 2020

frolvlad/alpine-glibc - это изображение Alpine Linux с поддержкой glib c, а jdk-11.0.6_linux-x64_bin.tar.gz, вероятно, является материальной Linux JDK glib c сборкой. Теоретически, это должно быть хорошо, но могут быть тонкие несовместимости glib c, которые вызывают это.

Если вы ищете Java 11 на Alpine, вы можете просто взять ванильное изображение Alpine 3.11 , а затем установите пакет openjdk11 сверху:

sudo docker run -it alpine:3.11

# apk add openjdk11

# java -version
openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-alpine-r0)
OpenJDK 64-Bit Server VM (build 11.0.5+10-alpine-r0, mixed mode)

Если вам требуется именно 11.0.6, установите вместо этого последний пакет openjdk11 из хранилища edge/community:

apk add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community

...