Docker Swarm 自动切换节点的时候是怎么停止当前容器的?

2017-11-08 20:50:46 +08:00
 billion

Docker Swarm 有两个节点,Manager 和 Worker,创建一个 Server 并且 Scale 为 2。于是会产生 2 个容器,Manager 上面跑了一个,Worker 跑了一个。

几分钟以后,我没有做任何操作,但是 Worker 上面 的容器消失了。而 Manager 上面跑了 2 个容器。三个小时里面,这种自发的切换行为发送了十多次。

请问 Swarm 自动切换的时候,他是怎么停止 Worker 上面的容器的?强制杀进程还是发送信号?

我在 Worker 上面跑的脚本会启动一个 Phantomjs,如果脚本正常结束,那么就会把 Phantomjs 也关闭。我发现 Docker Swarm 自动切换的时候,它只关闭了 Worker 上面的容器,但是 PhantomJS 的进程仍然在运行。这就导致 Worker 服务器上面几个小时里面出现了十多个 PhantomJS 的进程,导致服务器卡死。

请问有什么办法解决这个问题?

2034 次点击
所在节点    问与答
1 条回复
lostsummer
2018-05-09 17:12:44 +08:00
show 出你的 dockerfile

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

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

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

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

© 2021 V2EX