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

理查德·基弗

我读过 docker 和PID 1 问题,现在我有点偏执。我根据官方的php-fpm 图像创建了自己的图像,并想知道是否应该运行 init 系统而不是 php-fpm 作为 PID 1。

我如何才能确定一个过程在信号和收获方面是否正常工作?检查文档没有回答这个问题。我可以安全地假设官方的、流行的 docker 镜像在这方面设计得很好吗?目前,由于我的不确定性,我只是倾向于使用docker 的内置 init 系统运行所有内容

大卫迷宫

运行容器--init是安全的,如果您完全担心此类问题,请继续执行。(如果您曾经在非纯 Docker 的上下文中运行容器,请注意Kubernetes 没有等效选项,您需要在映像中内置一个 init 进程。)

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

我详细查看的标准 Docker Hub 映像都没有运行 init 系统。Stack Overflow Docker 问题似乎很少包含有关docker stop不工作或主机上进程泄漏的抱怨我不会特别担心这一点,除非你有证据认为你有问题,或者如果你试图绝对检查每一个“这是一个好主意......”框。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么官方Docker映像中的php-fpm对我不起作用?

我应该避免在PHP中使用太多静态方法吗?

使cron在php:7-fpm映像上运行

我可以避免使用RTTI吗?

Php-fpm 可以处理 cli 脚本吗?官方 docker php 内部发生了什么?

如何在Docker的官方php-fpm-alpine映像上安装XDebug?

我需要php-fpm服务MongoDB持久连接吗

使用php-fpm时如何从终端运行php -v

我应该使用哪些编译标志以避免运行时错误

SIGKILL init(PID = 1)没有sudo吗?Linux中的错误?

关于init_task的困惑(pid 0或pid 1?)

我应该避免使用注释吗?

我应该避免使用交互模式吗?

我应该避免使用STATIC物品吗

我应该避免使用聚合根吗?

Elasticsearch 安装问题:系统尚未使用 systemd 作为初始化系统 (PID 1) 启动。无法操作

使用 NICE 值运行 php-fpm 池

格式化1T存储驱动器ext4我应该留多少空间以避免出现问题?

Docker-Compose、Dockerfile 和构建映像问题 (php-fpm + pecl + xdebug)

Debian 9 + PHP7.0-FPM + NGINX 1.10.3-1 path_info 问题

如何使用pid 1和pid not 1将systemd作为进程运行?

我可以避免使用并集所有语句吗?

我可以避免使用kubernetes卷吗

我可以避免使用这种flexbox包装器吗?

Ruby - 我可以在别名下导入 gem 以避免依赖性问题吗?

我应该如何构建我的数据库以避免这个问题?

PHP-FPM 和 SSLKEYLOGFILE 问题

PHP-FPM线程安全吗?

在php:php-fpm docker映像中启用php模块