Я пытаюсь запустить скрипт R внутри Docker-контейнера. Вот пример.
Мой рабочий каталог, как показано ниже.
myRDocker
-dockerfile
-scripts
-save_iris.R
В каталоге myRDocker
есть dockerfile
и каталог scripts
, который содержит R-скрипт save_iris.R
Мой R-скрипт save_iris.R
- этокак показано ниже:
write.csv(iris, '/data/iris.csv')
Мой файл docker выглядит следующим образом:
# Install R version 3.6
FROM r-base:3.6.0
#install crontab
RUN apt-get update && apt-get -y install cron
RUN mkdir /data
COPY /scripts /scripts
Я зашел в свой каталог myRDocker
и собрал образ docker
docker build -t baser .
Я запускаюконтейнер докера в bash.
docker run -it baser bash
После того, как я попал в контейнер, я сделал:
crontab -e
, затем добавил эту строку, затем сохранил
* * * * * Rscript /scripts/save_iris.R
Следует сохранять файл в папку /data
каждую минуту. Тем не менее, я никогда не находил никаких файлов в папке данных внутри контейнера.
Мой вопрос:
Что я сделал не так в вышеуказанной процедуре? Я чувствую, что могу что-то упустить .... но не могу понять, почему ...
что мне делать, если я хочу запускать запланированную задачу cron при каждом запуске контейнера. (что-то вроде помещения задачи cron в файл и запуска при запуске контейнера ....)