Docker离开僵尸进程(vieux / sshfs)

时间:2019-06-03 13:14:51

标签: docker zombie-process sshfs defunct

我有大量的服务,在compose文件中,用vieux / sshfs驱动程序创建的卷很少,服务使用了这些卷。

由服务产生的容器执行一个脚本,然后容器完成/退出并在其位置创建一个新脚本-基本上,服务一直在产生新的容器。

所有工作都顺利进行,除了在主机中累积了异常大量的僵尸进程外。重看docker守护程序后,僵尸消失-必须由docker组成僵尸。

"ps aux | grep 'Z'"

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      3040  0.0  0.0      0     0 ?        Zs   14:13   0:00 [ssh] <defunct>
root      3042  0.0  0.0      0     0 ?        Zs   14:13   0:00 [sshfs] <defunct>
root      3052  0.0  0.0      0     0 ?        Zs   14:13   0:00 [ssh] <defunct>
root      3055  0.0  0.0      0     0 ?        Zs   14:13   0:00 [sshfs] <defunct>
...

据我了解,这些卷仅创建一次,并且服务仅使用该卷的本地副本-不会创建新的ssh连接并直接从远程计算机读取信息-不应创建另一个ssh连接过程将变得僵尸。

我很难找到有关该主题的信息,这使我认为我做的事情根本上是错误的。请帮忙。

1 个答案:

答案 0 :(得分:0)

我已经通过在docker-compose文件中为服务启用Tini来解决问题,如下所示-

init: true

很少有僵尸(<10)弹出,但是随后在一秒钟内被杀死-没有积累。

我仍然不知道僵尸与ssh有什么关系。如果有人能回答我将不胜感激。

PS:启用Tini后几天我已经检查了。 一些累积的僵尸(大约300个,之前大约2000个)。问题似乎有所缓解,但仍然存在。