web-dev-qa-db-ja.com

CentOSベースのDockerfileでOpenJDK8を定義する方法は?

CentOS Dockerfileがあると仮定します:

FROM centos

OpenJDK 8を追加する正しい方法は何ですか?

Fedoraと同様のアプローチを使用しようとしました https://github.com/projectatomic/docker-Fedora-images/blob/master/Java-openjdk-8/Dockerfile

しかし、イメージを実行するとJava version is "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に関連する手順を見つけることができませんでした。

6
Ilya Buziuk

これと同じくらい簡単なようです:

FROM centos

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

ENV Java_HOME /etc/alternatives/jre
.
.
11
Ilya Buziuk

開発用のJDKがインストールされている場合、Java_HOMEはJREではなくJDKを指す必要があります。

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/
3
MariuszS