Search code examples
dockerjava-8centos

Installing java 8 in centos 7 dockerfile


I just looked at this question: How to define OpenJDK 8 in CentOS based Dockerfile?.

I tried the suggested answers, but I'm not getting the expected results. Here are the contents of my DockerFile

FROM centos:7

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

ENV JAVA_HOME /etc/alternatives/jre
RUN yum install maven
RUN yum install curl 
RUN yum install -y unzip

I am building the image via: docker build -t container_image:latest -f DockerFile.build . Then when I run docker run -it {image_id} /bin/bash and perform java --version I get bash: java: command not found. Can someone help me see what I am doing wrong here?

Also, when I try to install the jdk from within the container via yum install java-1.8.0-openjdk I get the following

java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Solution

  • This fixed it

    FROM centos
    
    RUN yum -y update
    RUN yum -y remove java
    RUN yum install -y \
           java-1.8.0-openjdk \
           java-1.8.0-openjdk-devel
    
    RUN yum install -y maven
    RUN yum install -y curl 
    RUN yum install -y unzip