Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是否应该使用init系统运行官方php fpm映像以避免PID 1问题?_Php_Docker - Fatal编程技术网

我是否应该使用init系统运行官方php fpm映像以避免PID 1问题?

我是否应该使用init系统运行官方php fpm映像以避免PID 1问题?,php,docker,Php,Docker,我读过关于docker和docker的书,现在我有点偏执。我根据官方文件创建了自己的映像,不知道是否应该运行init系统,而不是像PID 1那样运行php fpm 我怎样才能知道一个关于信号和收获的过程是否工作良好?检查文档没有回答这个问题。我可以放心地假设,在这方面,官方流行的docker图像设计得很好吗? 目前,由于我的不诚实,我倾向于使用运行所有内容。使用--init运行容器是安全的,如果您担心这类问题,请继续执行。(如果您曾经在非纯Docker的上下文中运行容器,请注意,您需要在映像中内

我读过关于docker和docker的书,现在我有点偏执。我根据官方文件创建了自己的映像,不知道是否应该运行init系统,而不是像PID 1那样运行php fpm

我怎样才能知道一个关于信号和收获的过程是否工作良好?检查文档没有回答这个问题。我可以放心地假设,在这方面,官方流行的docker图像设计得很好吗?
目前,由于我的不诚实,我倾向于使用运行所有内容。

使用
--init
运行容器是安全的,如果您担心这类问题,请继续执行。(如果您曾经在非纯Docker的上下文中运行容器,请注意,您需要在映像中内置init进程。)

在这两种情况下,代码检查可以帮助您确定是否存在潜在问题。您是否启动过子流程?一个典型的Docker打包的HTTP服务不会。如果不这样做,则子进程永远无法启动孙进程,然后在不清理它的情况下退出,因此永远无法继承意外的僵尸子进程。类似地,如果您从未启动子流程,那么唯一可以向您发送信号的就是您自己的代码和
docker stop
,并且您可以轻松判断是否存在问题

我详细看过的标准Docker Hub映像中没有一个运行init系统。堆栈溢出Docker问题似乎很少包含关于
Docker stop
不工作或主机上进程泄漏的投诉。我不会特别担心这一点,除非你有证据认为你有问题,或者如果你试图检查每一个“这是一个好主意…”框