Docker File不存在:..,在Ubuntu上

时间:2019-09-24 11:08:47

标签: r docker plumber

我有一个R水暖工服务器,我想使用docker容器运行,到目前为止,我在dockerfile中有此配置

FROM rocker/r-ver:3.5.0

#update OS and install linux libraries needed to run plumber
RUN apt-get update -qq && apt-get install -y \
      libssl-dev \
      libcurl4-gnutls-dev

#load in dependencies from 00_Libraries.R file
RUN R -e "install.packages('plumber')"

#Copy all files from current directory
COPY / / 

#Expose port :80 for traffic
EXPOSE 80

#when the container starts, start the runscript.R script
ENTRYPOINT ["Rscript", "runscript.R"]

在我的runscript.R文件中,我的服务器配置如下:

pr <- plumber::plumb("/home/kristoffer/Desktop/plumber-api/rfiles/plumber.R")$run(port=8000)

每当我尝试运行docker映像时,都会出现此错误:

 File does not exist: /home/kristoffer/Desktop/plumber-api/rfiles/plumber.R
Execution halted

我已经确保所有必要的文件都位于正确的目录中。

enter image description here

enter image description here

编辑: 我在目录中包含了所有文件的映像,以确保dockerfile与其他文件位于同一目录中

1 个答案:

答案 0 :(得分:2)

您要复制/下的所有内容,将复制命令更改为:

COPY . .

并确保Dockerfile在同一目录中。

在此旁边:

plumber::plumb("/home/kristoffer/Desktop/plumber-api/rfiles/plumber.R")

也将不起作用,因为路径不在您的容器中,请将其更改为:

plumber::plumb("plumber.R")

如果此文件位于同一目录中