如何在docker debian上安装oracle-java8-installer:jessie

前端之家收集整理的这篇文章主要介绍了如何在docker debian上安装oracle-java8-installer:jessie前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图在debian:jessie docker容器上通过oracle-java8-installer安装java 8.以下是我的Dockerfile:

FROM debian:jessie

ENV JAVA_VERSION 1.8.0

RUN echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
RUN echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
RUN echo "debconf shared/accepted-oracle-license-v1-1 select true" | /usr/bin/debconf-set-selections
RUN apt-get update
RUN apt-get install -y --force-yes vim
RUN apt-get install -y --force-yes oracle-java8-installer

然而,这给了:

Connecting to download.oracle.com (download.oracle.com)|23.63.224.171|:80... connected.
HTTP request sent,awaiting response... 404 Not Found
2018-01-17 12:31:05 ERROR 404: Not Found.

download Failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 oracle-java8-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c apt-get install -y --force-yes oracle-java8-installer' returned a non-zero code: 100

我发现在线描述了许多类似的问题,但没有一个提出的解决方案适合我.任何的想法?

最佳答案
您正在从webupd8 PPA repo进行安装.如果你注意到,那个repo中的Java 8软件包指向Java 8版本151.该软件包从Oracle服务器中提取151的二进制文件(因为Java Oracle许可证不允许任何其他人托管二进制文件). Oracle几天前发布了版本161,显然已经从他们的服务器移动或删除了151.所以基本上webupd8 PPA repo中的包试图下载151二进制文件,它不再存在于webupd8包所期望的位置(因此你得到的是404). webupd8 PPA repo维护者必须发布一个新的包,指向Oracle的新161二进制文件. Docker或Debian在这个问题上没有任何作用,它基本上只是一个破碎的链接问题.

在此之前,您可以应用像此处提到的“解决方法”:JDK 8 is NOT installed – ERROR 404: Not Found

这是webupd8 repo中的Java包列表:

https://launchpad.net/~webupd8team/+archive/ubuntu/java/+packages

猜你在找的Docker相关文章