2015-04-21 99 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工作流程中最简单的方法。