如何在Ubuntu中的Rocker / Shiny容器中安装Java

我目前正在为我的项目testingRocker / Shiny容器。 有一些库需要“rJava”作为它的依赖关系,但是当我试图安装“rJava”时,它有一个由没有Java的摇杆/闪存容器引起的错误。 所以,我试过了

# Install Java. echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \ add-apt-repository -y ppa:webupd8team/java && \ apt-get update && \ apt-get install -y oracle-java8-installer && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /var/cache/oracle-jdk8-installer 

与一些修改安装Java但不成功。 它停在

 add-apt-repository -y ppa:webupd8team/java 

并抱怨

 No such file or directory: 'gpg' 

我也尝试将jdk- .tar.gz复制到容器中,但也没有运气。

所以,我想知道如何在摇杆/容器中安装java,以便我成功安装rJava。

任何帮助将不胜感激

您必须通过在其上添加Java来扩展rocker/shiny图像。 然后,您将可以使用新映像运行泊坞窗容器。

用下面的代码创build一个Dockerfile

 FROM rocker/shiny:latest # install wget and gnupg RUN apt-get update && apt-get install -my wget gnupg # install oracle java 8 RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections \ && echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list \ && echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list \ && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 \ && apt-get update \ && apt-get install oracle-java8-installer -y # clean local repository RUN apt-get clean # set up JAVA_HOME ENV JAVA_HOME /usr/lib/jvm/java-8-oracle 

build立它使用:

 docker build -t rocker_with_java . 

你可以通过运行来validation你的java安装:

 docker run -it rocker_with_java java -version