Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在docker容器中与Supervisor一起运行Rserve?_R_Docker_Supervisord_Rserve - Fatal编程技术网

如何在docker容器中与Supervisor一起运行Rserve?

如何在docker容器中与Supervisor一起运行Rserve?,r,docker,supervisord,rserve,R,Docker,Supervisord,Rserve,我想在docker容器中运行Rserve(作为守护进程)。我的基本要求是我想有一个R程序作为后台进程运行。为了实现这一点,我创建了一个R文件,并尝试使用Rserve运行相同的文件。为此,我创建了supervisor.conf文件,其中包含以下条目 [supervisord] nodaemon=true [program:rserve] command=/usr/bin/R CMD Rserve --slave --RS-conf /sri-app/rserve/rserve.co

我想在docker容器中运行Rserve(作为守护进程)。我的基本要求是我想有一个R程序作为后台进程运行。为了实现这一点,我创建了一个R文件,并尝试使用Rserve运行相同的文件。为此,我创建了supervisor.conf文件,其中包含以下条目

 [supervisord]

 nodaemon=true

 [program:rserve]

 command=/usr/bin/R CMD Rserve --slave --RS-conf
 /sri-app/rserve/rserve.conf --RS-source /sri-app/rserve/rserve-src.R

 user=root

 autostart=true

 autorestart=true

 stdout_logfile=/tmp/rserve_out.log

 stderr_logfile=/tmp/rserve_err.log

 environment=PATH="/usr/bin/R"
下面是“rserve.conf”文件的条目

我已将此supervisor.conf条目包含在dockerfile中,如下所示

 CMD ["/sri-app/run_supervisord.sh"]
其中“run_supervisord.sh”包含以下条目

 #!/bin/bash 

 /usr/bin/supervisord -c /sri-app/api-supervisor.conf
现在的问题是当我运行docker容器时遇到下面的错误

 2019-11-13 10:39:48,738 INFO supervisord started with pid 102

 2019-11-13 10:39:49,740 INFO spawned: 'rserve' with pid 105

 2019-11-13 10:39:49,870 INFO exited: rserve (exit status 0; not
 expected)

 2019-11-13 10:39:50,873 INFO spawned: 'rserve' with pid 109

 2019-11-13 10:39:50,999 INFO exited: rserve (exit status 1; not
 expected)

 2019-11-13 10:39:53,002 INFO spawned: 'rserve' with pid 112

 2019-11-13 10:39:53,130 INFO exited: rserve (exit status 1; not
 expected)

 2019-11-13 10:39:56,134 INFO spawned: 'rserve' with pid 115


 2019-11-13 10:39:56,264 INFO exited: rserve (exit status 1; not
 expected)

 2019-11-13 10:39:57,265 INFO gave up: rserve entered FATAL state, too
 many start retries too quickly
有什么建议吗

更新:

Dockerfile条目

FROM ubuntu:16.04
EXPOSE 8080 6311 9000

# --- Project specific entries starts here --
RUN mkdir -p /sri-app/

RUN apt-get install default-jre -y
RUN apt-get install default-jdk -y
RUN R CMD javareconf
RUN apt-get install r-cran-rjava -y
RUN apt-get update
RUN apt-get install libgdal-dev libproj-dev libssl-dev -y
RUN apt-get update && apt-get install -y wget supervisor

COPY . /sri-app
WORKDIR sri-app
RUN R CMD build .
RUN R CMD INSTALL -l "/usr/local/lib/R/site-library/" sri_3.20.4.tar.gz
## Rserve
RUN wget http://www.rforge.net/Rserve/snapshot/Rserve_1.8-5.tar.gz \
    && R CMD INSTALL Rserve_1.8-5.tar.gz

ENV HEALTH_CHECK_URL http://localhost:8080/heartBeat
ENV ACTIVE_ACTIVE true
ENV IS_ENTRY_POINT true
ENV APP_NAME "sr-insights"
ENV NODE_NAME sri-service
ENV APP_UUID "7b24c1c4-9dc8-43e6-8738-bedb86bc0c22"

# -- project specific entries ends here ---

# -- I feel main concerns is in below set of entries ---

COPY runR.sh /sri-app/
COPY run_supervisord.sh /sri-app/
RUN chmod +x /sri-app/run_supervisord.sh
RUN chmod +x /sri-app/runR.sh
CMD ["/sri-app/run_supervisord.sh"]


张贴Dockerfile或基本图像通常不鼓励粘贴代码或终端窗口的屏幕截图。请将其替换为
Dockerfile
@DavidMaze删除的屏幕截图和Dockerfile粘贴内容的实际文本
FROM ubuntu:16.04
EXPOSE 8080 6311 9000

# --- Project specific entries starts here --
RUN mkdir -p /sri-app/

RUN apt-get install default-jre -y
RUN apt-get install default-jdk -y
RUN R CMD javareconf
RUN apt-get install r-cran-rjava -y
RUN apt-get update
RUN apt-get install libgdal-dev libproj-dev libssl-dev -y
RUN apt-get update && apt-get install -y wget supervisor

COPY . /sri-app
WORKDIR sri-app
RUN R CMD build .
RUN R CMD INSTALL -l "/usr/local/lib/R/site-library/" sri_3.20.4.tar.gz
## Rserve
RUN wget http://www.rforge.net/Rserve/snapshot/Rserve_1.8-5.tar.gz \
    && R CMD INSTALL Rserve_1.8-5.tar.gz

ENV HEALTH_CHECK_URL http://localhost:8080/heartBeat
ENV ACTIVE_ACTIVE true
ENV IS_ENTRY_POINT true
ENV APP_NAME "sr-insights"
ENV NODE_NAME sri-service
ENV APP_UUID "7b24c1c4-9dc8-43e6-8738-bedb86bc0c22"

# -- project specific entries ends here ---

# -- I feel main concerns is in below set of entries ---

COPY runR.sh /sri-app/
COPY run_supervisord.sh /sri-app/
RUN chmod +x /sri-app/run_supervisord.sh
RUN chmod +x /sri-app/runR.sh
CMD ["/sri-app/run_supervisord.sh"]