当前位置: 首页 > 面试题库 >

dumb-init对Docker有多重要?

海翼
2023-03-14
问题内容

我希望这个问题不会被标记为primarily opinion-based,但是对此有一个客观的答案。

我已经阅读了介绍dumb-
init的内容,这是一个用于Docker容器的初始化系统
,其中广泛描述了使用原因和使用方法dumb- init。老实说,对于一个不太了解Linux流程结构工作原理的人来说,这听起来很引人注目-如果您不使用,就好像您做的事情完全是错误的dumb- init

这就是为什么我正在考虑在自己的Docker映像中使用它的原因……使我无法执行此操作的原因是,我尚未找到使用它的正式Docker映像。

  • 以mongo为例:他们mongod直接打电话。
  • 以postgres为例:他们postgres直接打电话。
  • 以节点为例:他们node直接调用。

如果dumb-init如此 重要-为什么显然没有人使用它?我在这里想念什么?


问题答案:

如果您有一个产生新进程的进程,并且没有实现好的信号处理程序来捕获子信号并在进程应停止时停止孩子,则可以使用dumb-
init
或tini之类的东西。

如果您的进程没有产生新的进程(例如,Node.js),则可能没有必要。

我猜想MongoDB,PostgreSQL等可以运行子进程的实现了良好的信号处理程序。否则会有僵尸进程,有人提出了解决此问题的方法。

唯一的问题可能是官方语言图像,例如node,ruby,golang。他们没有dumb-init /
tini,因为您通常不需要它们。但这取决于开发人员,该开发人员可以实施不良的子执行代码来修复信号处理程序或将辅助程序用作PID 1。



 类似资料:
  • dumb-init dumb-init is a simple process supervisor and init system designed to run asPID 1 inside minimal container environments (such as Docker). It isdeployed as a small, statically-linked binary wr

  • 问题内容: 我正在尝试设置一个mysql docker容器并执行init sql脚本。不幸的是SQL脚本没有执行。我究竟做错了什么? 我执行文件 问题答案: 许多容器化的应用程序,尤其是有状态的应用程序,都有一种运行脚本的方式(例如此处的sql脚本), 并且 它们只能运行 一次 。 并且由于它们是有状态的,因此对于容器是否在容器重新启动时运行脚本而言,卷是事实的来源。 与您的情况类似,删除用于绑定

  • 本文向大家介绍WordPress add_action-init-类对象内,包括了WordPress add_action-init-类对象内的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 组件 触发字符 mui.init min 创建子页面( subpage ) minsubpage 预加载页面( preload ) minpreload 刷新组件( pullRefresh ) minpullRefresh 手势事件( getures ) mingesture 侧滑返回( swipeback ) minswipeback 按键绑定(keyeventbind) minkeyevent

  • mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载、设置系统状态栏背景颜色。 mui需要在页面加载时初始化很多基础控件,如监听返回键,因此务必在每个页面中调用 以下各配置模块在其对应文档中有详细阐述,请点击链接查看,

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: MySQL关系 我试图用外键在MySQL中创建一对多关系。 两个表和。每个可以有多个,但是每个只能有一个。 我该如何配置?如果可以,我正在使用HeidiSQL,尽管我也可以输入代码。 问题答案: MySQL不知道,也不需要知道关系是1-1还是1-many。 没有SQL支持多对多关系,所有SQL都需要一个中间表,该表将多对多关系拆