【发布时间】:2019-04-18 14:13:05
【问题描述】:
我有一套量角器,为此我需要在我的 Dockerfile 中使用java 来运行selenium-server.jar 文件。
这是我的 Dockerfile
FROM node:latest
ENV CHROME_VERSION "google-chrome-stable"
RUN sed -i -- 's&deb http://deb.debian.org/debian jessie-updates main&#deb http://deb.debian.org/debian jessie-updates main&g' /etc/apt/sources.list \
&& apt-get -o Acquire::Check-Valid-Until=false update && apt-get -o Acquire::Check-Valid-Until=false install wget -y
ENV CHROME_VERSION "google-chrome-stable"
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list \
&& apt-get -o Acquire::Check-Valid-Until=false update && apt-get -qqy --allow-unauthenticated install ${CHROME_VERSION:-google-chrome-stable}
# Add the dependencies to get the xenial apt sources
RUN echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
RUN echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
RUN apt-get -y update
# Add these silent accept - since oracle installer asks for permission to install java-version-8
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true" | debconf-set-selections
# Install java-8
RUN apt install -y oracle-java8-installer && apt install oracle-java8-set-default
这个设置直到昨天都运行良好,但从那以后我一直收到这个错误
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 install -y oracle-java8-installer && apt install oracle-java8-set-default' returned a non-zero code: 100
现在在将此问题标记为重复之前,请注意我已经浏览了很多类似的 SO 帖子并应用了提到的所有更改,但错误仍然存在,或者我收到一个新错误,这又回到了无法解决的问题下载错误。
我已经尝试过this、this、this 和this、this、this、this 中提到的解决方案,但一直无法解决。
完整的日志文件是here。如果需要,我可以发布在尝试应用上述解决方案时遇到的错误。
寻找解决此问题的任何指针。
【问题讨论】:
-
您想在节点映像上运行 java 的任何具体原因?
-
正如我所说 - 我需要 Java 来启动
selenium-server.jar文件 - 在执行量角器测试之前需要启动它。在本地,此显式设置使用directConnect标志。但是,在 CI-CD 管道中运行时,后者会失败。
标签: java docker dockerfile