【问题标题】:R - install.packages not working in docker on coreos on compute engineR - install.packages 在计算引擎上的 coreos 上的 docker 中不起作用
【发布时间】:2015-01-14 23:57:39
【问题描述】:

我正在尝试构建一个小型 R 容器,该容器为我想在 Google Compute Engine 上的 docker 容器中运行的代码安装一些包。

我需要安装(例如)jsonlite 在我的 dockerfile 中有一行可以做到这一点:

RUN Rscript -e 'install.packages("jsonlite", repo="http://cran.ma.imperial.ac.uk/")'

但是,当我尝试在计算引擎上构建包含此行的 dockerfile 时, 并没有安装。源 tarball 已下载到 /tmp/Rsomething,但实际上并未安装该软件包。我必须在压缩包上手动运行R CMD INSTALL,安装成功。

当我在本地的同一个 dockerfile 上运行 docker build . 时,一切正常,并且软件包已正确安装。

AFAIK,这在 2-3 个月前还没有发生 - 我前段时间有一个成功的缓存构建。

这里有什么问题?是 R 还是 docker、计算引擎还是三者的混合体?

我目前的解决方法是添加

RUN find /tmp/ -name '*.tar.gz' -exec R CMD INSTALL '{}' \;

到 docker 文件的末尾,但如果未以正确的顺序找到 tarball,则似乎是在依赖项之前安装了东西(有时),然后就不起作用了。

【问题讨论】:

    标签: r docker google-compute-engine


    【解决方案1】:

    问题是 docker 实例本身进入了一些糟糕的状态。在看到一些意外的错误消息(关于http:///var/run/...)后,我重新启动了主机,之后一切都按预期进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-07
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 2017-11-01
      • 2015-02-01
      相关资源
      最近更新 更多