docker工人 – 用curl安装java 8
为了在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
它工作了一段时间,但现在这个链接不再是可用的。 有可replace的url吗? 或简单的方法来停止在docker上的Java 8?
这取决于你使用的操作系统,所以我希望你能显示你的操作系统。 例如,Ubuntu用户为Oracle Java准备他们的ppa存储库。
RUN add-apt-repository ppa:webupd8team/java RUN apt-get update RUN apt-get install oracle-java8-installer
看来Oracle已经更改了下载的授权,浏览器使用的实际链接是http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64 .rpm?AuthParam = 1496223138_c808095f7637d83147c37d69d3a87e7a ,但这不能用于curl。
我从Oracle下载的问题没有解决办法,但我使用官方的OpenJDK图像作为基地,没有发现问题。
如果openjdk适合你,你可以使用
RUN apt-get install -y openjdk-8-jdk
与oracle相比,openjdk不需要用户的确认。
如果您只需要Java运行时,请考虑openjdk-8-jre
。
从https://hub.docker.com/r/sftech/java调整我的Dockerfile
FROM 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/*
为什么要在图像/容器中安装java,何时可以从Docker商店免费获取java:8图像 。 许可证要求与oracle.com网站上的java / jdk下载安装完全相同。
- seccomp = unconfined在kubernetes pod中的容器? 或者:更改docker 1.10中的默认值?
- 如果Docker中的图像没有标记,那么它们是全部使用还是孤儿?
- Docker最大的离线容器
- Docker集群中的保险库不会更新所有节点
- “org.springframework.beans.factory.UnsatisfiedDependencyException:创buildbean时出错”使用docker
- 错误:无法findRequirement.parse('supervisor')的合适分配
- docker添加caching当git签出相同的文件
- 从源代码构buildfiware / cygnus docker – 最后一步(8)
- 将docker-compose连接到IBM Container Cloud时,“证书validation失败”