[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