[supervisord] nodaemon=true [program:myapp] command=/usr/local/bin/gunicorn -c /myapp/gun.conf manager:app directory=/ user=root autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启。。固然要选上了 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码(是说退出代码是这个时就再也不重启了吗?待肯定) stopsignal=KILL ; 用来杀死进程的信号 stopwaitsecs=10 ; 发送SIGKILL前的等待时间 redirect_stderr=true ; 重定向stderr到stdout stdout_logfile =/var/log/myapp/server.log
import os bind='0.0.0.0:80' workers=2 backlog=2048 worker_class="egg:meinheld#gunicorn_worker" #sync, gevent,egg:meinheld#gunicorn_worker(don't supports windows) debug=True proc_name='gunicorn.pid' pidfile='/myapp/debug.log' loglevel='info'
FROM python:2.7
MAINTAINER Feng_v
RUN mkdir /myapp
RUN mkdir -p /var/log/myapp
RUN mkdir -p /etc/supervisor
RUN mkdir -p /etc/supervisor/conf.d/
RUN touch /var/log/myapp/server.log
COPY . /myapp
WORKDIR /myapp
RUN pip install -r requirements.txt
RUN echo_supervisord_conf > /etc/supervisor/supervisord.conf
RUN echo "[include]" >> /etc/supervisor/supervisord.conf
RUN echo "files = /etc/supervisor/conf.d/*.conf" >> /etc/supervisor/supervisord.conf
RUN mv supervisord.conf /etc/supervisor/conf.d
EXPOSE 80
CMD ["/usr/local/bin/supervisord"]python
#而后咱们到docker服务器中构建docker镜像docker
docker build -t myapp . 构建docker镜像命令 (在当前myapp目录下)windows
docker run -d -p 80:80 -d -it myapp 运行docker容器服务器
#至此一来就能够用docker来启动python应用了。app