高手的存在,就是让服务10亿人的时候,你感觉只是为你一个人服务......

supervisor管理容器进程

目录
  1. 1. supervisor 安装
  2. 2. 编写supervisor.conf
  3. 3. 启动docker-supervisor

启动容器的时候,为了保证容器退出时保持UP状态,可以使用 /usr/sbin/sshd -D
我们经常会在后面加上若干启动命令:

1
docker run -ti --name test docker.vemic.com:5000/focustest-centos5 -P 22 -P 80 /usr/sbin/sshd -D && nginx && /opt/resin.sh restart

命令多的时候看起来会很乱
but,可以使用supervisor来进行优化(管理进程)
可以写成这样:

1
2
3
4
5
6
7
8
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:nginx]
command=nginx
[program:resin]
command=/opt/resin.sh restart

supervisor 安装

具体可以参考:
https://rayed.com/wordpress/?p=1496

yum install python-setuptools
easy_install pip
pip install supervisorr

编写supervisor.conf

1
2
3
4
5
6
7
8
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:dns]
command=/bin/bash -c " echo nameserver 192.168.42.200 > /etc/resolv.conf "
[program:resin]
command=bash /app/build/resin.sh restart

启动docker-supervisor

docker run -d > /home/docker.log –name test -v /app/webroot/:/app/webroot/ -P docker.vemic.com:5000/focustest-centos5:5.4
/opt/ActivePython-2.7/bin/supervisord -c /opt/supervisor/supervisord.conf &