4 ms·
I'm not sure writing yet another pid 1 tool is such a good idea. I have been using Docker in production for a few months now and I use supervisord as pid 1. I a
by sandGorgon 12y ago
I'm not sure writing yet another pid 1 tool is such a good idea. I have been using Docker in production for a few months now and I use supervisord as pid 1. I am able to hook it to most app servers (python,rails,etc) as well as rsyslogd . logging is a big pain on Docker, and you should think of your logging strategy before the pid 1. How are you rotating your logs and is your pid 1 restarting your app on failure? For us, supervisord does all that.
We run syslog and logrotate inside the container (using a volume) and it works fairly well for us. Plus supervisord comes with a pretty kickass tool - supervisorctl - and the conf file is fairly well documented.
Optimizing the RAM/CPU usage of supervisors and rsyslogd is not very critical - it doesn't use too much.
I actually learned a lot from baseimage - but dont know why they went with runit rather than supervisord.
Would really,really,REALLY love to learn to do thus with systemd.
EDIT: ahh.. forgot that their script was based on runit. My mistake - but dont think I will change over from supervisord anytime soon.
- detaro 12y agoSupervisord docs say explicitly that it is not meant be used as PID 1. Does it still perform all the necessary functions?
- sandGorgon 12y agoyes - we use django, rails, postgres, redis, syslogd and cron. In general it works very well - we use puma for the rails server and gunicorn for python and we are able to control them very well.
- deleted 12y ago[deleted]