From 1e73eca339f1209b5150ddc56380fcee1a6d0df2 Mon Sep 17 00:00:00 2001 From: virusdefender Date: Fri, 22 Apr 2016 19:09:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BAjudger=E5=A2=9E=E5=8A=A0supervisor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dockerfiles/judger/Dockerfile | 9 ++++----- dockerfiles/judger/run.sh | 3 +++ dockerfiles/judger/supervisord.conf | 23 +++++++++++++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 dockerfiles/judger/run.sh create mode 100644 dockerfiles/judger/supervisord.conf diff --git a/dockerfiles/judger/Dockerfile b/dockerfiles/judger/Dockerfile index 6394df62..3c01c3a5 100644 --- a/dockerfiles/judger/Dockerfile +++ b/dockerfiles/judger/Dockerfile @@ -1,6 +1,4 @@ FROM ubuntu:14.04 -RUN mkdir /var/install/ -WORKDIR /var/install/ ENV DEBIAN_FRONTEND noninteractive RUN rm /etc/apt/sources.list COPY sources.list /etc/apt/ @@ -11,11 +9,12 @@ RUN echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf- RUN echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections RUN apt-get update RUN apt-get install -y oracle-java7-installer -RUN git clone https://github.com/QingdaoU/Judger -RUN cd Judger && python setup.py install +RUN cd /tmp && git clone https://github.com/QingdaoU/Judger && cd Judger && python setup.py install RUN mkdir -p /var/judger/run/ && mkdir /var/judger/test_case/ && mkdir /var/judger/code/ RUN chmod -R 777 /var/judger/run/ COPY policy /var/judger/run/ +COPY supervisord.conf /etc +RUN pip install supervisor WORKDIR /var/judger/code/judge/ EXPOSE 8080 -CMD python server.py \ No newline at end of file +CMD bash /var/judger/code/dockerfiles/judger/run.sh \ No newline at end of file diff --git a/dockerfiles/judger/run.sh b/dockerfiles/judger/run.sh new file mode 100644 index 00000000..b70bb2e9 --- /dev/null +++ b/dockerfiles/judger/run.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +python -m compileall /var/judger/code +exec supervisord \ No newline at end of file diff --git a/dockerfiles/judger/supervisord.conf b/dockerfiles/judger/supervisord.conf new file mode 100644 index 00000000..8769c434 --- /dev/null +++ b/dockerfiles/judger/supervisord.conf @@ -0,0 +1,23 @@ +[supervisord] +logfile=/var/judger/code/judge/log/judger_supervisord.log +logfile_maxbytes=50MB +logfile_backups=10 +loglevel=info +pidfile=/var/judger/code/judge/log/judger_supervisord.pid +nodaemon=true +childlogdir=/var/judger/code/judge/log/ + +[supervisorctl] +serverurl=unix:///tmp/supervisor.sock + +[program:judger_server] +command=python server.py +directory=/var/judger/code/judge/ +numprocs=1 +stdout_logfile=/var/judger/code/judge/log/judger_server.log +stderr_logfile=/var/judger/code/judge/log/judger_server.log +autostart=true +autorestart=true +startsecs=5 +stopwaitsecs = 5 +killasgroup=true \ No newline at end of file