在docker文件中安装私有R包
我第一次尝试使用Docker和ShinyProxy,在这个过程的一开始,我就很挣扎 我开发了一些在本地运行良好的闪亮应用程序,我正在考虑在我网站的一些文章中部署它们 这些闪亮的应用程序使用我自己编写的两个软件包,它们位于我的计算机本地 如何在Dockerfile中安装这些私有R包,以便“容器”能够访问它们 我已经看到很多安装CRAN软件包的例子,我对此没有问题。但是,我无法找到从本地存储库安装自己的软件包的方法 目前,我有一个名为“DockerEC”的文件夹,其中包含以下文件:在docker文件中安装私有R包,r,dockerfile,R,Dockerfile,我第一次尝试使用Docker和ShinyProxy,在这个过程的一开始,我就很挣扎 我开发了一些在本地运行良好的闪亮应用程序,我正在考虑在我网站的一些文章中部署它们 这些闪亮的应用程序使用我自己编写的两个软件包,它们位于我的计算机本地 如何在Dockerfile中安装这些私有R包,以便“容器”能够访问它们 我已经看到很多安装CRAN软件包的例子,我对此没有问题。但是,我无法找到从本地存储库安装自己的软件包的方法 目前,我有一个名为“DockerEC”的文件夹,其中包含以下文件: 'App.R'
'App.R'
'run_app.R'
'installpackages.R'
'Dockerfile'
在我的本地闪亮应用程序中,我只需使用以下工具安装这些软件包:
install.packages("/Users/name/Documents/R/Package_NAME", repos = NULL, type="source")
我在installpackages.R文件中编写了这行代码,但我无法运行此文件,因为我收到一个错误:“没有这样的文件或目录”
我曾经
COPY /Users/name/Documents/R/DockerEC/installpackages.R /Users/name/Documents/R/DockerEC/installpackages.R
然后
RUN Rscript /Users/name/Documents/R/DockerEC/installpackages.R
在我的docker文件中,但不明白为什么我找不到该文件
有谁有一个在dockerfile中安装私有R包的具体例子吗?我缺少一个具体的例子来理解如何做…试试下面的
Dockerfile
,它适合我:
FROM rocker/r-ver:3.6.1
RUN mkdir ./private_pkgs
COPY /Users/name/Documents/R/your_package.tar.gz ./private_pkgs/your_package.tar.gz
RUN R -e "install.packages('private_pkgs/your_package.tar.gz', repos = NULL, type = 'source')"
我会尝试一下,让你知道,谢谢你的快速回答!没有成功:(这是我Dockerfile的开头:
来自rocker/r-ver:3.5.3 COPY./Users/name/Documents/r/dockerc WORKDIR/Users/name/Documents/r/dockerc COPY/Users/name/Documents/r/dockerc/private\u pkgs/my\u package.tar.gz
我认为问题在于目录/Users/name/Documents/r/Documents/r/dockerc
在图像上不存在,您需要使用运行mkdir
进行设置。尝试使用上面发布的Dockerfile
文件,您只需将包名从您的\u包更改为您指定的名称即可