2015-04-21 97 views
7

我正在嘗試使用特定版本的Java 8在其上構建Docker容器(使用Dockerfile)。很多示例都針對最新版本。如何使用Dockerfile安裝特定版本的Java 8

RUN add-apt-repository -y ppa:webupd8team/java 
RUN apt-get update -y 

RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections 
RUN apt-get install -y oracle-java8-installer 

我有一個需要在哪裏我想控制我的容器配置的Java的特定版本。有關如何實現這一目標的任何提示?對於示例Java 8更新31.

+0

由於PPA只包含最新的軟件包,因此無法使用WebUpd8。 – meskobalazs

+0

我已經構建了一個Dockerfile,您可以通過Tag來指定版本,但我不會將它作爲答案發布。如果你想看看,https://github.com/MartinSeeler/docker-oracle-server-jre#usage-from-docker-hub。 –

回答

8

由於大多數PPA軟件包打包最新的穩定版本,我建議您從Oracle手動安裝Java,就像在this answer中那樣。

你可以做腳本中的所有工作過,步驟是:

  • 獲得與wget壓縮包,
  • 其解壓縮與tar -xz
  • 使用update-alternatives設置爲默認
0

另一種選擇是使用官方的Java圖像從Docker Hub Registry

由於許可限制,它不提供Oracle JDK,但它是將Java集成到Docker工作流程中最簡單的方法。