CLOVER🍀

That was when it all began.

CentOS/Ubuntu Linuxで、Oracle JDK 8をインストールしたDockerイメージを作る

Oracle JDKRPMをコマンドでダウンロードする方法をまったく覚えられないので、Dockerイメージの作り方と合わせてメモ。

CentOS 7とUbuntu Linuxで、Oracle JDK 8をインストールするDockerfileを書いておきます。

追記
CentOSなどで使う、RPM形式のファイルをダウンロードしてインストールする場合は、Oracle JDK 8では2017年に
ダウンロードURLの形式が大きく変わりました。よって、このエントリのURLではうまく動作しないのでご注意ください。

[Java] OracleJDKの取得方法が大きく変わりました | Developers.IO

CentOS

RPMをダウンロードしてインストール。
Dockerfile

FROM centos:7

ENV JDK_VERSION 8u60
ENV JDK_BUILD_NO b27
ENV JDK_RPM jdk-${JDK_VERSION}-linux-x64.rpm

ENV JAVA_HOME /usr/java/default

RUN yum install -y wget && \
    wget -q \
         --no-check-certificate \
         --no-cookies \
         --header "Cookie: oraclelicense=accept-securebackup-cookie" \
         http://download.oracle.com/otn-pub/java/jdk/${JDK_VERSION}-${JDK_BUILD_NO}/${JDK_RPM} && \
    rpm -ivh ${JDK_RPM}

CMD "/bin/bash"

このwgetに付けているオプションやらヘッダーやらを覚えていられないので…。

JDKのBuild Noとかは、Oracle JDKのダウンロードリンクを見ればわかると思います。

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Ubuntu Linux

こちらは、apt-get installに最終的には持っていきます。
Dockerfile

FROM ubuntu:latest

ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
    apt-get update && \
    apt-get install -y software-properties-common && \
    add-apt-repository -y ppa:webupd8team/java && \
    apt-get update && \
    apt-get install -y oracle-java8-installer

CMD "/bin/bash"

ポイントは、ライセンスの同意を対話形式で求められないように

echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections

としておくこと、add-apt-repositoryが入っていないので

apt-get install -y software-properties-common

としておくこと、apt-get installやadd-apt-repositoryは対話形式にならないように「-y」を付けておくことですね。

参考)
http://jlinuxer.dip.jp/?p=810
https://github.com/dockerfile/java/tree/master/oracle-java8

以後、時々使うでしょう…。