Supervisord is a really great tool, even for a Docker environment. It helps a lot with standard error redirection and signals forwarding. But it has a couple of disadvantages:
- It doesn't support delayed startup. It could be useful to delay some agent startup until the main application is initializing. Priority doesn't solve this issue.
- If some application enters a fatal state, supervisord just logs it, but it continues to work. So you can't see it until looking at logs of the container. It could be much more friendly if supervisord just stops because in that case you see the problem with
docker ps -a
So what is the best alternative to supervisord?