如何在基于CentOS的Dockerfile中定义OpenJDK 8?

时间:2016-11-16 15:47:23

标签: docker centos dockerfile openjdk

假设有一个CentOS Dockerfile:

FROM centos

为它添加OpenJDK 8的正确方法是什么?

我尝试使用与Fedora https://github.com/projectatomic/docker-fedora-images/blob/master/java-openjdk-8/Dockerfile

类似的方法

但是当我运行图像时,java版本是" 1.7.0_111" ,即使它预计是JDK 8:

docker run -i -t <image> /bin/bash

[user@2fcc1e47c3cd projects]$ java -version

java version "1.7.0_111"
OpenJDK Runtime Environment (rhel-2.6.7.2.el7_2-x86_64 u111-b01)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)

有许多来源描述了Oracle JDK安装,但我无法找到任何有关OpenJDK的相关说明

2 个答案:

答案 0 :(得分:7)

似乎就像这样容易:

FROM centos

RUN yum install -y \
       java-1.8.0-openjdk \
       java-1.8.0-openjdk-devel

ENV JAVA_HOME /etc/alternatives/jre
.
.

答案 1 :(得分:0)

安装用于开发的JDK时,JAVA_HOME应该指向JDK而不是JRE。

RUN yum install -y \
   java-1.8.0-openjdk \
   java-1.8.0-openjdk-devel

ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk/