You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Amazon Linux 2的Dockerfile中通过amazon-linux-extras安装OpenJDK17?

解决Amazon Linux 2 Docker镜像中安装OpenJDK 17的问题

问题原因

Amazon Linux 2的amazon-linux-extras仓库并未收录java-openjdk17包,这是你执行安装命令时报错的核心原因。该仓库提供的Java版本以11及以下为主,17不在其支持列表内。

解决方案:安装Amazon Corretto 17(推荐)

Amazon Corretto是亚马逊官方维护的OpenJDK发行版,完全兼容OpenJDK,且在Amazon Linux 2上有完善的支持,适合Docker镜像场景:

  1. 在Dockerfile中添加以下命令来安装Corretto 17:
RUN rpm --import https://yum.corretto.aws/corretto.key \
    && curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo \
    && yum install -y java-17-amazon-corretto-devel \
    && yum clean all
  1. 验证安装:
    添加完上述命令后,可在镜像中执行java -version,输出应类似:
openjdk version "17.0.x" 20xx-xx-xx LTS
OpenJDK Runtime Environment Corretto-17.0.x.xx (build 17.0.x+xx-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.x.xx (build 17.0.x+xx-LTS, mixed mode, sharing)

备选方案:手动下载OpenJDK 17二进制包

如果偏好使用原生OpenJDK而非Corretto,可通过手动下载tar包的方式安装:

RUN curl -O https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz \
    && tar -xzf openjdk-17.0.2_linux-x64_bin.tar.gz -C /usr/local/ \
    && rm openjdk-17.0.2_linux-x64_bin.tar.gz \
    && ln -s /usr/local/jdk-17.0.2/bin/java /usr/bin/java \
    && ln -s /usr/local/jdk-17.0.2/bin/javac /usr/bin/javac

注意:需根据OpenJDK官方最新版本调整下载链接。

内容的提问来源于stack exchange,提问作者Anisha Mathais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 15:25:21