如何在 Alpine linux docker 镜像中安装 oracle jdk11? [英] How to install oracle jdk11 in Alpine linux docker image?
问题描述
我的 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屋!