【问题标题】:How to install a specific version of Java 8 using Dockerfile如何使用 Dockerfile 安装特定版本的 Java 8
【发布时间】:2015-04-21 09:35:23
【问题描述】:

我正在尝试构建一个带有特定版本的 Java 8 的 Docker 容器(使用 Dockerfile)。许多示例都针对最新版本。

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 只包含最新的包,因此无法使用 WebUpd8。
  • 我已经构建了一个 Dockerfile,您可以在其中通过标签指定版本,但我不会将其发布为答案。如果你想看看,github.com/MartinSeeler/….

标签: java docker dockerfile


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    另一个选择是使用来自Docker Hub Registry的官方Java镜像

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

    【讨论】:

      【解决方案3】:

      对于 Docker 容器操作系统:Cent 6.6

      在 Dockerfile 中使用此命令将 JDK 版本更新到 1.8:

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

      【讨论】:

        猜你喜欢
        • 2017-11-21
        • 1970-01-01
        • 2020-01-16
        • 2021-12-03
        • 2017-04-16
        • 2018-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多