在docker脚本中使用源代码(functions.R)

在docker脚本中使用源代码(functions.R),r,docker,dockerfile,R,Docker,Dockerfile,我已经创建了一个名为analysis.R的R脚本,当我使用source(./functions.R)在本地运行脚本时,该脚本使用functions.R中的自定义函数,但当我使用文件运行docker映像时,会出现错误 Error in file(filename, "r", encoding = encoding) : cannot open the connection Calls: source -> withVisible -> eval -> eval ->

我已经创建了一个名为
analysis.R
的R脚本,当我使用
source(./functions.R)
在本地运行脚本时,该脚本使用
functions.R中的自定义函数,但当我使用文件运行docker映像时,会出现错误

Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection
Calls: source -> withVisible -> eval -> eval -> source -> file
In addition: Warning message:

In file(filename, "r", encoding = encoding) :
  cannot open file './functions.R': No such file or directory
Execution halted
我查看了docker图像,并将
函数.R
分析.R
脚本一起复制到容器中

下面是Dockerfile中用于复制脚本的行

FROM rocker/r-ver:3.6.2

RUN mkdir /home

COPY analysis.R /home/analysis.R
COPY functions.R /home/functions.R

有人能解决这个问题吗?提前感谢?

在docker文件中设置工作目录可以解决此问题

FROM rocker/r-ver:3.6.2

WORKDIR /home

COPY analysis.R analysis.R
COPY functions.R functions.R

你是如何执行的?您是否在容器上获取shell并手动执行它?如果是这样,那么当您执行它时,您在容器中的什么位置?我直接从mac上的终端执行它。