我正在尝试在Docker容器内运行一个R脚本。以下是示例。
我的工作目录如下所示。
myRDocker
-dockerfile
-scripts
-save_iris.R
在目录
myRDocker
中,有一个dockerfile
和一个名为scripts
的目录,其中包含一个R脚本save_iris.R
。我的R脚本
save_iris.R
如下:write.csv(iris, '/data/iris.csv')
我的dockerfile如下:
# 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容器。
docker run -it baser bash
我进入容器后,进行了以下操作:
crontab -e
然后添加这一行,然后保存。
* * * * * Rscript /scripts/save_iris.R
应该每分钟将文件保存到文件夹/data
中。然而,在容器内的data文件夹中我从未找到任何文件。
我的问题是:
在上述过程中我做错了什么?感觉可能漏掉了什么,但是无法确定原因......
如果我想在容器启动时运行计划任务应该怎么办。 (比如将计划任务放入一个文件中,并在容器启动时运行...)