用plumber, RPostgreSQL和docker构建R api的问题



我正在尝试安装管道工和RPostgreSQL到我的docker映像。这是我的dockerFile:

FROM rocker/r-base

RUN R -e "install.packages('plumber')"
RUN R -e "install.packages('RPostgreSQL')"
RUN mkdir -p /code
COPY ./plumber.R /code/plumber.R
CMD Rscript --no-save /code/plumber.R

我的水管工脚本所做的唯一一件事就是尝试引用RPostgreSQL包:

library('RPostgreSQL') 

当我构建时,它似乎成功地安装了两个包,但是当我的脚本运行时,它抱怨RPostgreSQL不存在。我试过其他的基本图像,我试过很多东西。

感谢任何帮助。谢谢!

您正在尝试安装RPostgres,然后试图加载RPostgreSQL-这是不同的软件包。因此出现了错误。

接下来,由于您在r-base上,后者作为sudo apt install r-cran-rpostgresql更容易安装(可能在初始sudo apt update之后)。同时,您还可以将plumber作为预制作的二进制文件(以及它的依赖项)安装。所以

RUN apt update -qq 
&& apt install --yes --no-install-recommends 
r-cran-rpostgresql 
r-cran-plumber

更容易、更快捷。

最新更新