How to define OpenJDK 8 in CentOS based Dockerfile?

主宰稳场 提交于 2020-12-29 10:15:16

问题


Assuming that there is a CentOS Dockerfile:

FROM centos

What is the right way of adding OpenJDK 8 for it ?

I have tried to use similar approach as for Fedora https://github.com/projectatomic/docker-fedora-images/blob/master/java-openjdk-8/Dockerfile

But when I run the image java version is "1.7.0_111", even though it is expected to be 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)

There are many sources which describe Oracle JDK installations, but I was not able to find any relevant instructions for OpenJDK


回答1:


Seems to be as easy as this:

FROM centos

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

ENV JAVA_HOME /etc/alternatives/jre
.
.



回答2:


When JDK for development is installed, then JAVA_HOME should point to JDK instead of 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/


来源:https://stackoverflow.com/questions/40636338/how-to-define-openjdk-8-in-centos-based-dockerfile

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!