Docker Alpine镜像是否支持OpenJDK19?3.16.2版本安装方法咨询
Docker Alpine镜像与OpenJDK19的支持情况及安装方案
支持情况说明
Docker Alpine镜像支持OpenJDK19,但Alpine 3.16.2的官方软件源中并未收录OpenJDK19包——OpenJDK19是从Alpine 3.17版本开始才进入官方main/community源的,这也是你能正常安装OpenJDK11却无法安装OpenJDK19的核心原因。
在Alpine 3.16.2中安装OpenJDK19的可行方案
方案一:升级Alpine镜像版本到3.17+
直接切换到Alpine 3.17或更高版本的镜像,即可通过官方源直接安装OpenJDK19,示例Dockerfile如下:
FROM alpine:3.17 # 更新源并安装OpenJDK19 RUN apk update && apk add --no-cache openjdk19-jdk
执行构建命令:docker build -t alpine-jdk19 .
方案二:在Alpine 3.16.2中添加第三方源安装
如果无法升级Alpine版本,可以添加Alpine Edge源(包含OpenJDK19包)进行安装,注意Edge源为开发版本,稳定性略低于稳定版:
FROM alpine:3.16.2 # 添加Edge源并安装OpenJDK19 RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \ && apk update && apk add --no-cache openjdk19-jdk
方案三:手动下载二进制包配置
也可直接下载兼容Alpine的OpenJDK19二进制包,手动解压并配置环境变量:
FROM alpine:3.16.2 # 安装依赖工具并下载解压OpenJDK19 RUN apk add --no-cache curl tar \ && curl -L https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.2%2B7/OpenJDK19U-jdk_x64_alpine-linux_hotspot_19.0.2_7.tar.gz -o jdk19.tar.gz \ && tar -xzf jdk19.tar.gz -C /opt \ && rm jdk19.tar.gz \ && ln -s /opt/jdk-19.0.2+7/bin/java /usr/bin/java \ && ln -s /opt/jdk-19.0.2+7/bin/javac /usr/bin/javac # 配置Java环境变量 ENV JAVA_HOME=/opt/jdk-19.0.2+7 ENV PATH=$PATH:$JAVA_HOME/bin
内容的提问来源于stack exchange,提问作者Narasimha
相关产品推荐
相关产品推荐

