Файл Docker не существует: .., в Ubuntu - PullRequest
1 голос
/ 24 сентября 2019

У меня есть сервер R сантехник, который я хочу запустить, используя докер-контейнер, и у меня пока есть эта конфигурация в моем 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"]

в моем файле runcript.R, у меня естьмоя конфигурация сервера выглядит следующим образом:

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

всякий раз, когда я пытаюсь запустить образ докера, я получаю эту ошибку:

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

Я гарантировал, что все необходимые файлы находятся вправильный каталог.

enter image description here

enter image description here

РЕДАКТИРОВАТЬ: я включил изображение всех файловУ меня есть в моем каталоге, чтобы убедиться, что dockerfile находится в том же каталоге, что и мои другие файлы

1 Ответ

2 голосов
/ 24 сентября 2019

вы копируете все в /, измените команду копирования на:

COPY . .

и убедитесь, что Dockerfile находится в том же каталоге.

рядом с этим:

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

также не будет работать, поскольку путь не в вашем контейнере, измените его на:

plumber::plumb("plumber.R")

, если этот файл находится в том же каталоге

...