我正在通过apache + mod_php在docker容器中运行php服务。由于某种原因,我迟早会在反向代理上看到“服务不可用”。在检查容器时,我总是发现所有httpd工人都变成了僵尸,不再受到主进程的控制。我认为这是由于docker容器中的僵尸收割问题引起的,并尝试通过将tini添加为pid 1来解决它。不幸的是,它没有解决问题,我想是因为httpd主进程仍在运行,所以工作人员实际上不是孤立的会被pid 1收获。目前,我对如何解决此问题并因此寻求您的帮助一无所知。
有人知道如何调试这种问题吗?
以下是在容器内部运行的“ top”命令的输出。我使用纯高山作为基本图像,并通过“ apk”安装了php7。
9 1 root S 169m 1% 3 0% /usr/sbin/httpd -D FOREGROUND
5493 0 root S 1592 0% 1 0% sh
5501 5493 root R 1524 0% 2 0% top
1 0 root S 760 0% 0 0% /sbin/tini -- /usr/sbin/httpd -D F
5484 9 apache Z 0 0% 3 0% [httpd]
5492 9 apache Z 0 0% 0 0% [httpd]
5485 9 apache Z 0 0% 0 0% [httpd]
5490 9 apache Z 0 0% 3 0% [httpd]
5486 9 apache Z 0 0% 0 0% [httpd]
5487 9 apache Z 0 0% 1 0% [httpd]
5483 9 apache Z 0 0% 3 0% [httpd]
5482 9 apache Z 0 0% 1 0% [httpd]
5489 9 apache Z 0 0% 1 0% [httpd]
5491 9 apache Z 0 0% 3 0% [httpd]
5488 9 apache Z 0 0% 0 0% [httpd]