我希望这个问题不会被标记为primarily opinion-based,但是有一个客观的答案.
我已经阅读了介绍dumb-init,一个用于Docker容器的init系统,它广泛地描述了为什么以及如何使用它dumb-init.老实说,对于那些对Linux流程结构不太有经验的人来说,这听起来非常引人注目 - 如果你不使用它,感觉好像你做的事情完全错了dumb-init.
这就是我考虑在我自己的Docker镜像中使用它的原因...让我无法做到这一点的原因是我还没有找到使用它的官方Docker镜像.
如果dumb-init是这样重要的-为什么是明显地没有人使用它吗?我在这里错过了什么?
Ste*_*rer 19
喜欢的东西哑初始化或TINI可以,如果你有一个派生新工艺过程中使用,你不具有良好的信号处理实现赶上孩子信号,停止你的孩子,如果你的过程中,应停止等.
如果您的进程没有生成新进程(例如,Node.js),那么这可能没有必要.
我猜MongoDB,PostgreSQL,......可以运行子进程,实现了良好的信号处理程序.否则会有僵尸进程,有人提出了一个问题来解决这个问题.
唯一的问题可能是官方语言图像,如node,ruby,golang.它们没有dumb-init/tini,因为你通常不需要它们.但这取决于开发人员可能实现错误的子执行代码来修复信号处理程序或使用帮助程序作为PID 1.
| 归档时间: |
|
| 查看次数: |
10089 次 |
| 最近记录: |