如何在 Alpine linux docker 镜像中安装 oracle jdk11? [英] How to install oracle jdk11 in Alpine linux docker image?

查看:29
本文介绍了如何在 Alpine linux docker 镜像中安装 oracle jdk11?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 Dockerfile:

My 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 时,我得到了这个段错误:

When I run the command java -version in the container, I get this segfault:

我该如何解决这个问题?

How can I solve this problem?

推荐答案

frolvlad/alpine-glibc 是一个支持 glibc 的 Alpine Linux 镜像,jdk-11.0.6_linux-x64_bin.tar.gz 可能是大陆 Linux JDK glibc 构建.理论上,这应该没问题,但可能有细微的 glibc 不兼容导致这种情况.

frolvlad/alpine-glibc is a glibc-enabled Alpine Linux image, and jdk-11.0.6_linux-x64_bin.tar.gz is likely a mainland Linux JDK glibc build. In theory, this should be fine, but there may be subtle glibc incompatibilities that cause this.

如果您正在寻找 Alpine 上的 Java 11,您可以获取 vanilla Alpine 3.11 映像,然后在顶部安装 openjdk11 包:

If you're looking for Java 11 on Alpine, you could just grab the vanilla Alpine 3.11 image, then install the openjdk11 package on top:

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,请安装 edge/community 存储库的最新 openjdk11 包:

If you need 11.0.6 specifically, install the latest openjdk11 package of the edge/community repository instead:

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

这篇关于如何在 Alpine linux docker 镜像中安装 oracle jdk11?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆