You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Ubuntu镜像的Dockerfile中安装JDK 8 Update 172?

没问题,我来帮你搞定在Ubuntu镜像的Dockerfile里安装JDK 8 Update 172的配置,直接给你适配好的代码和实用细节:

在Ubuntu镜像的Dockerfile中安装JDK 8 Update 172

你可以基于原有的Dockerfile结构,替换对应版本的参数并补充Ubuntu环境需要的依赖处理,下面是完整的适配代码:

# 建议指定Ubuntu具体版本(如ubuntu:20.04),保证构建稳定性
FROM ubuntu:latest

# 配置JDK 8 Update 172的版本参数
ENV JAVA_VERSION_MAJOR 8
ENV JAVA_VERSION_MINOR 172
ENV JAVA_VERSION_BUILD 11
ENV JAVA_DOWNLOAD_HASH a8a305e48b78463e9170b5e05297b39d

RUN apt-get update && apt-get install -y --no-install-recommends wget \
    # 创建JDK安装目录
    && mkdir -p /usr/lib/jvm \
    && cd /usr/lib/jvm \
    # 下载Oracle JDK,必须携带授权Cookie才能正常下载
    && wget -nv --no-check-certificate --no-cookies \
        --header "Cookie: oraclelicense=accept-securebackup-cookie" \
        http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/${JAVA_DOWNLOAD_HASH}/jdk-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz \
    # 解压并清理压缩包,减少镜像体积
    && tar -xzf jdk-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz \
    && rm jdk-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz \
    # 配置系统全局的java/javac命令指向
    && update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR}/bin/java 1 \
    && update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR}/bin/javac 1 \
    # 清理apt缓存和临时依赖,进一步压缩镜像大小
    && apt-get purge -y --auto-remove wget \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

几个关键细节说明:

  • Ubuntu依赖处理:Ubuntu基础镜像默认没有wget工具,所以先通过apt安装,最后又清理掉它来节省镜像空间
  • 版本参数对应:JDK 8u172的官方版本标识是8u172-b11,所以对应的BUILD参数是11,下载哈希值是官方提供的校验值,确保下载包的完整性
  • Oracle授权验证:必须携带oraclelicense=accept-securebackup-cookie请求头,否则Oracle服务器会拒绝下载请求
  • 镜像优化:使用--no-install-recommends避免安装不必要的依赖,最后清理apt缓存和临时工具,能大幅减小镜像体积

如果是测试环境不需要极致压缩,也可以简化掉清理部分,保留wget工具,但生产环境更推荐上面的优化版本。

内容的提问来源于stack exchange,提问作者Utsav Chokshi

火山引擎 最新活动