热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用docker文件安装R软件包

如何解决《使用docker文件安装R软件包》经验,为你挑选了2个好方法。

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

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/')" 

这是正确的方法吗?



1> Ic3fr0g..:

正如@Cameron Kerr的评论所建议的那样,Rscript不会给您带来构建失败。到目前为止,推荐的方法是按照问题的建议进行操作。

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

如果您相当确定没有包装失败,请使用此一线式-

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

编辑:如果你不使用BASE-R图像,你可以使用rocker-orgr-ver或者r-studiotidyverse图像。这是仓库。这是一个示例Dockerfile-

FROM rocker/tidyverse:latest

# Install R packages
RUN install2.r --error \
    methods \
    jsonlite \
    tseries

--error标志是可选的,install.packages()如果程序包安装失败(它将导致docker build命令失败),则会引发错误。默认情况下,install.packages()仅引发警告,这意味着即使Dockerfile安装失败,它也可以成功构建。

All rocker-org基本上安装了littlerinstall2.R功能的软件包



2> elevendollar..:

是的,您的解决方案应该有效.我遇到了同样的问题,并在此处找到了解决方案https://github.com/glamp/r-docker/blob/master/Dockerfile.

简而言之,使用:RUN Rscript -e "install.packages('PACKAGENAME')".我试过了它,它的工作原理.


不幸的是,当install.packages失败时,这不会导致Docker构建失败.
推荐阅读
author-avatar
nuabolalalala4_135
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有