要在docker容器上安装java 8,我在dockerfile
中使用了这个命令RUN curl -LO 'http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.rpm'
-H 'Cookie: oraclelicense=accept-securebackup-cookie' RUN rpm -i jdk-8u111-linux-x64.rpm RUN rm jdk-8u111-linux-x64.rpm
它工作了一段时间,但现在这个链接已不再可用。这有可替换的网址吗?或者在docker上安装java 8的简单方法?
答案 0 :(得分:0)
这取决于您使用的操作系统,所以我希望您展示自己的操作系统。例如,Ubuntu用户为Oracle Java准备了他们的ppa存储库。
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update
RUN apt-get install oracle-java8-installer
答案 1 :(得分:0)
似乎Oracle已经更改了下载授权,浏览器使用的实际链接是http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1496223138_c808095f7637d83147c37d69d3a87e7a,但这不能与curl一起使用。
我无法解决从Oracle下载的问题,但我使用official OpenJDK image作为基础并且没有发现问题。
答案 2 :(得分:0)
如果openjdk对您没问题,可以使用
RUN apt-get install -y openjdk-8-jdk
与oracle相比,openjdk不需要用户确认。
如果您只需要Java运行时,请考虑openjdk-8-jre
。
答案 3 :(得分:0)
从https://hub.docker.com/r/sftech/java
改编我的DockerfileFROM ubuntu
ENV JAVA_VERSION=8
RUN echo oracle-java${JAVA_VERSION}-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
RUN apt-get update \
&& apt-get install -y software-properties-common \
&& apt-add-repository ppa:webupd8team/java \
&& apt-get update \
&& apt-get install -y oracle-java${JAVA_VERSION}-installer \
&& update-java-alternatives -s java-${JAVA_VERSION}-oracle \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
答案 4 :(得分:0)
为什么要在图像/容器中安装java,当你可以免费获得java:8 image from the Docker store时。许可证要求与oracle.com网站上的java / jdk下载安装完全相同。