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

时间:2017-09-08 07:52:04

标签: java docker shiny dockerfile shiny-server

我正在为我的项目测试Rocker / 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。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您必须通过在其上添加Java来扩展rocker/shiny图像。然后,您将能够使用新图像运行docker容器。

使用以下代码创建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

使用以下方式构建它:

docker build -t rocker_with_java .

您可以通过运行以下来验证您的Java安装:

docker run -it rocker_with_java java -version