如何使用 Dockerfile 安装特定版本的 Java 8

How to install a specific version of Java 8 using Dockerfile

我正在尝试构建一个 Docker 容器(使用 Docker 文件),其中包含特定版本的 Java 8。许多示例都针对最新版本。

RUN add-apt-repository -y ppa:webupd8team/java
RUN apt-get update -y

RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
RUN apt-get install -y oracle-java8-installer

我需要控制配置我的容器的 Java 的特定版本。关于如何实现这一目标的任何提示?例如 Java 8 更新 31.

由于大多数 PPA 包都包含最新的稳定版本,我建议从 Oracle 手动安装 Java,就像在 this answer.

中一样

您也可以在脚本中完成所有工作,步骤为:

  • 使用 wget
  • 获取 tarball
  • tar -xz,
  • 解压
  • 使用update-alternatives设置为默认值

另一种选择是使用来自 Docker Hub Registry

的官方 Java 图片

诚然,由于许可限制,它不提供 Oracle JDK,但这是将 Java 集成到您的 Docker 工作流程中的最简单方法。

对于Docker容器OS:美分6.6

在您的 Docker 文件中使用此命令将您的 JDK 版本更新到 1.8:

RUN touch /var/lib/rpm/* \ 
 && yum -y install java-1.8.0-openjdk-devel