如何使用 R & Java 构建 Dockerfile
How to build Dockerfile with R & Java
我正在尝试构建一个 Docker 容器,该容器使用包 RJava 运行 R。我试过以下代码:
# Install R version 3.6.3
FROM rocker/tidyverse:3.6.3
# Make ~/.R
RUN mkdir -p $HOME/.R
# Install Ubuntu packages && then R packages
RUN install2.r --error \
lubridate magrittr RPostgres DBI broom rlang rJava
但是我得到以下信息:包“rJava”的安装具有非零退出状态。
谁能帮我解决这个问题。我在想,也许是因为 Java 没有安装。有谁知道如何在这个 docker 容器上安装 Java?
我尝试按照另一个 post 将以下内容添加到我的 docker 文件中,但我发现我收到错误提示 'The repository 'http://ppa.launchpad.net/webupd8team/java/ubuntu focal Release' does没有发布文件:
# Install "software-properties-common" (for the "add-apt-repository")
RUN apt-get update && apt-get install -y \
software-properties-common
# Add the "JAVA" ppa
RUN add-apt-repository -y \
ppa:webupd8team/java
# Install OpenJDK-8
RUN apt-get update && \
apt-get install -y openjdk-8-jdk && \
apt-get install -y ant && \
apt-get clean;
# Fix certificate issues
RUN apt-get update && \
apt-get install ca-certificates-java && \
apt-get clean && \
update-ca-certificates -f;
# Setup JAVA_HOME -- useful for docker commandline
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME
我是 docker 的新手,如有任何帮助,我们将不胜感激。
rocker
图片基于 debian
,而非 ubuntu
。具体是Debian GNU/Linux 10 (buster)
。使用该版本,您可以通过 apt
安装软件包 openjdk-11-jdk
来安装 java
,并且不需要为 openjdk-8-jdk
.
添加任何存储库
所以一个安装 rJava
:
的工作 dockerfile
FROM rocker/tidyverse:3.6.3
RUN apt-get update && \
apt-get install -y openjdk-11-jdk && \
apt-get install -y liblzma-dev && \
apt-get install -y libbz2-dev
RUN Rscript -e "install.packages('rJava')"
注意:liblzma-dev
和 libbz2-dev
是编译 rJava
.
的附加系统依赖项
我正在尝试构建一个 Docker 容器,该容器使用包 RJava 运行 R。我试过以下代码:
# Install R version 3.6.3
FROM rocker/tidyverse:3.6.3
# Make ~/.R
RUN mkdir -p $HOME/.R
# Install Ubuntu packages && then R packages
RUN install2.r --error \
lubridate magrittr RPostgres DBI broom rlang rJava
但是我得到以下信息:包“rJava”的安装具有非零退出状态。
谁能帮我解决这个问题。我在想,也许是因为 Java 没有安装。有谁知道如何在这个 docker 容器上安装 Java?
我尝试按照另一个 post 将以下内容添加到我的 docker 文件中,但我发现我收到错误提示 'The repository 'http://ppa.launchpad.net/webupd8team/java/ubuntu focal Release' does没有发布文件:
# Install "software-properties-common" (for the "add-apt-repository")
RUN apt-get update && apt-get install -y \
software-properties-common
# Add the "JAVA" ppa
RUN add-apt-repository -y \
ppa:webupd8team/java
# Install OpenJDK-8
RUN apt-get update && \
apt-get install -y openjdk-8-jdk && \
apt-get install -y ant && \
apt-get clean;
# Fix certificate issues
RUN apt-get update && \
apt-get install ca-certificates-java && \
apt-get clean && \
update-ca-certificates -f;
# Setup JAVA_HOME -- useful for docker commandline
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME
我是 docker 的新手,如有任何帮助,我们将不胜感激。
rocker
图片基于 debian
,而非 ubuntu
。具体是Debian GNU/Linux 10 (buster)
。使用该版本,您可以通过 apt
安装软件包 openjdk-11-jdk
来安装 java
,并且不需要为 openjdk-8-jdk
.
所以一个安装 rJava
:
FROM rocker/tidyverse:3.6.3
RUN apt-get update && \
apt-get install -y openjdk-11-jdk && \
apt-get install -y liblzma-dev && \
apt-get install -y libbz2-dev
RUN Rscript -e "install.packages('rJava')"
注意:liblzma-dev
和 libbz2-dev
是编译 rJava
.