2017-07-24 61 views
4

我在docker文件中使用了下面的行安装了R。请建议如何指定现在要安装在我的docker文件中的软件包。使用docker文件安装R软件包

RUN yum -y install R-core R-devel 

我在做这样的事情:

RUN R -e "install.packages('methods',dependencies=TRUE, repos='http://cran.rstudio.com/')"\ 
    && R -e "install.packages('jsonlite',dependencies=TRUE, repos='http://cran.rstudio.com/')" \ 
    && R -e "install.packages('tseries',dependencies=TRUE, repos='http://cran.rstudio.com/')" 

这是做正确的方法是什么?

+0

可能的相关文章:https://stackoverflow.com/questions/6907937/how-to-install-dependencies-when-using-r-cmd-install-to-install-r-packages – Damian

+0

你给的链接不是关于dockerfile。你能建议如果你有什么想法,我该怎么办? – Ashag

+0

是否可以从shell提示符运行命令或通过Docker运行R脚本?这篇文章提出了安装软件包的多种选择 - 我认为它们中的一种可能适用于您的情况,即使未特别提及docker也是如此。 – Damian

回答

0

我建议看看R-studioR-base。你可以有一个预先安装了R的映像,它们也可以帮助你安装软件包。 Here是他们在RStudio上的文档的链接。有点难找。 This部分可能会帮助你。

+0

1.)我不想安装R studio。 2.)我不能使用r-base或其他的东西,因为mybase图像来自一些私人存储库,因此。我不能使用apt-get来安装任何东西.Tha是我使用yum来安装东西的原因。你可以建议丰富的情况下,使用yum安装R我的方式后,我如何安装软件包? – Ashag

+0

我不知道如何安装R包,但是,如果您可以准备一个安装R包的脚本,那么我可以帮助您在dockerfile中运行该脚本。 – Ayushya

+0

检查修改请 – Ashag

0

您可以使用所需的安装命令编写R脚本,然后使用Docker运行它 - 如果我正确阅读本文档(https://hub.docker.com/_/r-base/)。

FROM r-base 
COPY . /usr/local/src/myscripts 
WORKDIR /usr/local/src/myscripts 
CMD ["Rscript", "myscript.R"] 

Build your image with the command: 

$ docker build -t myscript /path/to/Dockerfile 

其中myscript.R包含相应的软件包安装命令。

+0

运行R脚本是不可能的。 – Ashag

+1

我正在做这样的事情:RUN R -e“install.packages('methods',dependencies = TRUE,repos ='http://cran.rstudio.com/')”\ && R -e“install .packages('jsonlite',dependencies = TRUE,repos ='http://cran.rstudio.com/')“\ && R -e”install.packages('tseries',dependencies = TRUE,repos ='http ://cran.rstudio.com/')“ – Ashag

+0

这是正确的做法吗? – Ashag