docker + supervisor

2019-04-10 14:54:31 +08:00
 chaleaochexist
几个问题.
1. 之前我们一直使用 supervisor + nginx+ gunicorn 组合.
现在想用 docker
nginx 一个 docker; gunicorn 一个 docker, 感觉 supervisor 没啥用了. supervisor 单独起一个进程监控两个 docker 进程? 没必要啊...
supervisor 加到 docker 里面监控 gunicorn? 感觉好麻烦啊..直接监控 docker 不就好了?

引申出另一个问题.
2. 如何监控 docker 的状态.
举例, gunicorn 挂了 docker 会跟着一起挂吗?

谢谢.
2988 次点击
所在节点    程序员
7 条回复
gosansam
2019-04-10 15:00:16 +08:00
k8s
zuoakang
2019-04-10 15:04:58 +08:00
关注下
baojiweicn2
2019-04-10 15:08:14 +08:00
supervisor 是不需要了,docker restart always 就成。
gunicorn 挂了 docker 也会挂,但是 restart always 就会自起来。
建议有 health check。让 lbs 定期去 check。
上 k8s 吧,既然都用容器了。
mritd
2019-04-10 15:28:57 +08:00
不需要 su,docker damon 本身由 systemd 守护,在新版本上事实上容器已经被 containerd 接管,containerd 由 systemd 控制,docker daemon 通过 rpc 调用 containerd 启动容器,至于在容器内启动 su 更不可取,因为在容器健康检查有效的情况下,su 会屏蔽 docker 对容器健康状态的感知,可能造成容器内服务已死,但是上层看到容器仍然健康(内部 su 存活)的情况,在使用上层编排系统后(eg: k8s),上层发展容器有问题会重新调度(k8s controller 调谐)
baojiweicn2
2019-04-10 19:43:39 +08:00
额额,我表达的意思是 gunicorn 挂了 container 也会挂,docker 自己是不会挂的,可能和楼主的想表达的意思混淆了,特意纠正
chaleaochexist
2019-04-10 23:48:29 +08:00
@baojiweicn2 谢谢.没有混淆.我就是这个意思....
julyclyde
2019-04-11 15:48:37 +08:00
本来就没啥用啊
python-supervisord 是“你们非 root ”用的东西,提供的好处是“每次让你少输入那么长的命令”

它本身不能监管本身,如果故障了那就故障了。不如 systemd/init 监管的服务那么可靠。在 docker 里如果 1 号进程挂了,容器就挂了,编排系统会负责去重启的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/553724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX