【问题标题】:Install R packages using Dockerfile使用 Dockerfile 安装 R 包
【发布时间】:2020-02-14 12:49:46
【问题描述】:

我正在尝试使用 Dockerfile 安装 R 包。

我安装了图片Rocker/Rstudio

Dockerfile的内容是:

# Base image https://hub.docker.com/r/rocker/rstudio
FROM rocker/rstudio:latest

## Create directories
RUN mkdir -p /rstudio
RUN mkdir -p /rscripts


##Install R packages
RUN R -e "install.packages(c('rvest', 'jsonlite', 'data.table' ,'stringr'), repos = 'http://cran.us.r-project.org')"

然后我构建我的图像:docker build -t my_r_image . 图像构建但未安装软件包,因为我收到此警告:

将软件包安装到“/usr/local/lib/R/site-library”(因为“lib”是 未指定)警告:无法访问存储库的索引 http://cran.us.r-project.org/src/contrib: 打不开网址 'http://cran.us.r-project.org/src/contrib/PACKAGES'

我尝试将http://cran.us.r-project.org 替换为= 'http://cran.rstudio.com/')",但我收到了类似的错误,提示它无法访问存储库的索引。

有人知道我做错了什么吗?

edit1:请参阅以下输出:

.libPaths()
    [1] "/usr/local/lib/R/site-library" "/usr/local/lib/R/library"     

install.packages(c('rvest', 'jsonlite', 'data.table' ,'stringr'), repos = 'http://cran.us.r-project.org')
        Warning in install.packages :
          unable to access index for repository https://mran.microsoft.com/snapshot/2019-10-15/src/contrib:
          cannot open URL 'https://mran.microsoft.com/snapshot/2019-10-15/src/contrib/PACKAGES'
        Installing packages into ‘/usr/local/lib/R/site-library’
        (as ‘lib’ is unspecified)
        Warning in install.packages :
          unable to access index for repository http://cran.us.r-project.org/src/contrib:
          cannot open URL 'http://cran.us.r-project.org/src/contrib/PACKAGES'
        Warning in install.packages :
          packages ‘rvest’, ‘jsonlite’, ‘data.table’, ‘stringr’ are not available (for R version 3.6.1)

【问题讨论】:

  • 当您进入容器并进入 R 时,您的 .libPaths() 是什么?目录上有这些设置吗?在 R 会话中尝试在没有 RUN R -e "install.packages(c('rvest', 'jsonlite', 'data.table' ,'stringr'), repos = 'http://cran.us.r-project.org')" 行的容器中进行调试可能是值得的。
  • 构建主机或其进程是否有网络限制?当网络故障(临时)或受政策限制时,这种警告很常见。
  • @r2evans 我该如何检查这个?我选择了 AWS 中可用的第一个 EC2 实例,然后直接安装了 rocker/rstudio
  • @JonnyPhelps 我使用您建议的命令编辑了我的帖子。我不确定我怎么知道这些设置是否在目录中?
  • 尝试使用网络(在您的构建脚本中)是否真的成功了?这看起来很像构建容器无法访问互联网。

标签: r docker package dockerfile


【解决方案1】:

奇怪的是,使用完全相同的 Dockerfile,我使用 rocker/tidyverse 存储库而不是 rocker/rstudio 安装软件包没有问题。有谁知道这是为什么?

【讨论】:

    【解决方案2】:

    我也有类似的问题,FROM rocker/rstudio:latest

    对我来说,更改为早期版本解决了我的问题,并且库能够安装。就我而言,我使用了FROM rocker/rstudio:4.0.1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 2019-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2023-03-10
      相关资源
      最近更新 更多