docker + gunicorn + nginx需要supervisord吗?

Dan*_*ofe 7 django supervisord gunicorn docker

我在码头工人手里拿着手枪运行django,我的码头工作点是:

CMD ["gunicorn","myapp.wsgi"]

假设已经有一个进程在系统启动时运行docker并在停止时重新启动docker容器,我是否还需要使用supervisord?如果gunicorn将崩溃不会崩溃码头,然后重新启动?

lar*_*sks 11

你需要在Docker容器中需要像supervisord(或其他进程监督器)这样的东西,如果你需要在容器启动时启动容器内的多个独立进程.

例如,如果您需要启动两个 nginx的和在同一个容器gunicorn,你就需要调查某种过程监督员.但是,更常见的解决方案是将这两个服务放在两个单独的容器中.像docker-compose这样的工具可以帮助管理多容器应用程序.

如果由于主进程退出而导致容器退出,则如果您在首次启动时配置了重新启动策略(例如,via docker run --restart=always ...),则Docker将重新启动该容器.