我想创建一个可以运行Rserve的Docker映像,并将某些R文件放入Docker容器中。 Rserve可远程访问。
Docker文件的相关部分是:
COPY ./scripts/ /home/docker
WORKDIR /home/docker
ENTRYPOINT R -e "Rserve::run.Rserve(remote=TRUE, workdir='/home/docker')"
但是找不到R脚本。我尝试将工作"
设置为'
,而不是workdir /home/docker
,甚至尝试不使用引号。我还尝试将配置文件指定为``的参数,并将RUN echo 'remote enable' >> /etc/Rserve.conf \
&& echo 'encoding utf8' >> /etc/Rserve.conf \
&& echo 'daemon enable' >> /etc/Rserve.conf \
&& echo 'workdir /home/docker' >> /etc/Rserve.conf
# start Rserve
ENTRYPOINT R CMD Rserve --RS-conf /etc/Rserve.conf --no-save && /bin/sh -c "while true; do sleep 5; done;"
添加到/ etc / Rserve.conf`,但无济于事。
我也尝试了一点different configuration approach:
connection.parseAndEval("setwd('/home/docker')")
唯一有效的方法是在基于Java的客户端中调用fread
。
如何设置Rserve的工作目录,以便在服务器上找到R脚本?