Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker文件中安装私有R包_R_Dockerfile - Fatal编程技术网

在docker文件中安装私有R包

在docker文件中安装私有R包,r,dockerfile,R,Dockerfile,我第一次尝试使用Docker和ShinyProxy,在这个过程的一开始,我就很挣扎 我开发了一些在本地运行良好的闪亮应用程序,我正在考虑在我网站的一些文章中部署它们 这些闪亮的应用程序使用我自己编写的两个软件包,它们位于我的计算机本地 如何在Dockerfile中安装这些私有R包,以便“容器”能够访问它们 我已经看到很多安装CRAN软件包的例子,我对此没有问题。但是,我无法找到从本地存储库安装自己的软件包的方法 目前,我有一个名为“DockerEC”的文件夹,其中包含以下文件: 'App.R'

我第一次尝试使用Docker和ShinyProxy,在这个过程的一开始,我就很挣扎

我开发了一些在本地运行良好的闪亮应用程序,我正在考虑在我网站的一些文章中部署它们

这些闪亮的应用程序使用我自己编写的两个软件包,它们位于我的计算机本地

如何在Dockerfile中安装这些私有R包,以便“容器”能够访问它们

我已经看到很多安装CRAN软件包的例子,我对此没有问题。但是,我无法找到从本地存储库安装自己的软件包的方法

目前,我有一个名为“DockerEC”的文件夹,其中包含以下文件:

'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包更改为您指定的名称即可