说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210789815.7 (22)申请日 2022.07.06 (71)申请人 启明信息技 术股份有限公司 地址 130117 吉林省长 春市长春净月高新 技术产业开发区百合 街1009号 (72)发明人 牛建平 谢斌 王超  (74)专利代理 机构 成都金英专利代理事务所 (普通合伙) 51218 专利代理师 詹权松 (51)Int.Cl. G06F 9/455(2006.01) G06F 9/50(2006.01) (54)发明名称 一种规避容器中僵尸进程的方法 (57)摘要 本发明公开了一种规避容器中僵尸进程的 方法, 所述方法包括使用流水线构建image容器 镜像和容器镜像编译; 所述image容器镜像构建, 包括Base基础镜像子步骤、 业务基础镜像构建子 步骤和业务应用镜像ENDPONITS子步骤; 所述容 器镜像编译, 包括编译基础镜像子步骤和设置编 译环境变量子步骤; 本发明利用Linux进程管理 机制, 使用dumb ‑init的方式解决了容器在运行 过程中, 销毁等情况下出现宿主主机很多僵尸进 程问题, 从而 导致资源浪费, 尤其PID进 程号的耗 尽。 同时采用Dockerfile多 阶构建, 有效缩减业 务容器镜像大小, 更加充分利用计算资源用于业 务应用。 权利要求书1页 说明书3页 附图1页 CN 115269114 A 2022.11.01 CN 115269114 A 1.一种规避容器中僵尸进程的方法, 包括以下步骤: 使用流水线构建ima ge容器镜像; 容器镜像编译; 镜像的ENTRYPOINT启动参数设置, 使进程启动顺序为首先启动dumb ‑init进行作为系 统PID为0的父进程, 后续业务应用进程直接被dumb ‑init守护进程接管, 业务子进程的销毁 和新建都由父进程统一处 理, 以彻底预防容器化应用出现僵尸进程。 2.根据权利要求1所述的一种规避容器中僵尸进程的方法, 其特征在于, 所述image容 器镜像构建,包括以下子步骤: Base基础镜像: Base基础镜像中存放dump ‑init进程控制二进制程序,该程序主要充当 Linux操作系统中的supervi sor和init  system并且运行时以PID1在容器中运行, 业务容器 所有进程均有该进程控制; 业务基础镜像构 建: 在第二阶构 建业务image镜像时, 从第一阶段base基础镜像中复制 dump‑init二进制执行文件, 并存放在当前业务基础镜像的寄存目录下, 并进行可执行授 权; 业务应用镜像ENDPONITS: 在业务镜像的Dockerfile中, 业务容器的启动ENDPONITS基 于语法规则添加dump ‑init启动参数。 3.根据权利要求1所述的一种规避容器中僵尸进程的方法, 其特征在于, 所述容器镜像 编译, 包括以下子步骤: 编译基础镜像, 将代码从代码仓库下 载, 并下载相关依赖库文件安装; 设置编译环境变量, 使得在编译之后的制品中注入有效环境信息, 用于后期该镜像容 器化启动需要和安全类加固。 4.根据权利要求1所述的一种规避容器中僵尸进程的方法, 其特征在于, 所述 ENTRYPOI NT启动参数设置的命令式为: ENTRYPOI NT ["/usr/bi n/dumb‑init", "", "/main"]。 5.根据权利要求1所述的一种规避容器中僵尸进程的方法, 其特征在于, 所述业务基础 镜像的寄存目录具体是/usr/l ocal/bin。 6.根据权利要求2所述的一种规避容器中僵尸进程的方法, 其特征在于, 所述的语法规 则包括JSON语法。权 利 要 求 书 1/1 页 2 CN 115269114 A 2一种规避容器中僵尸进程的方 法 技术领域 [0001]本发明涉及软件运维技 术领域, 具体涉及一种规避容器中僵尸进程的方法。 背景技术 [0002]容器是通过一种虚拟化技术来隔离运行在主机上不 同进程, 从而达到进程之间、 进程和宿主操作系统相互隔离、 互不影响的技术。 容器化后, 由于单容器单进程, 已经没有 传统意义上的  init 进程了。 应用进程直接占用了  pid 1 的进程号。 从而导致以下两个问 题: A: 常见的使用是  docker run my‑container  script 。 给 docker run进程发送 SIGTERM 信号会杀掉  docker run 进程, 但是容器还在后台运行。 [0003]B: 如果父进程在子进程之前退出, 子进程会变成孤儿进程,  它的父进程会变成   PID 1。 因此, init进程就要对这些进程负责, 并在适当的时候调用  wait() 方法。 通常情 况下, 大部 分应用进程不会处理偶然依附在自己进程上的随机子进程, 所以在容器中, 会出 现许多僵尸进程。 发明内容 [0004]本发明解决的技术问题是: 克服了使用dumb ‑init的方式解决了容器在运行过程 中, 销毁等情况下出现宿主主机很多僵尸进程问题的缺点, 提供了一种规避容器中僵尸进 程运维问题的方法及系统。 [0005]本发明的目的是通过以下技 术方案来实现的: 一种规避容器中僵尸进程的方法, 包括以下步骤: 使用流水线构建ima ge容器镜像; 容器镜像编译; 镜像的ENTRYPOINT启动参数设置, 使进程启动顺序为首先启动dumb ‑init进行作 为系统PID为0的父进程, 后续业务应用进程直接被dumb ‑init守护进程接管, 业务子进程的 销毁和新建都由父进程统一处 理, 以彻底预防容器化应用出现僵尸进程。 [0006]具体的, 所述 image容器镜像构建,包括以下子步骤: Base基础镜像: Base基础镜像中存放dump ‑init进程控制二进制程序,该程序 主要 充当Linux操作系统中的supervi sor和init  system并且运行时以PID1在容器中运行, 业务 容器所有 进程均有该进程控制; 业务基础 镜像构建: 在第二阶构建业务im age镜像时, 从第一阶段base基础 镜像中 复制dump ‑init二进制执行文件, 并存放在当前业务基础镜像的寄存目录下, 并进 行可执行 授权; 业务应用镜像ENDPONITS: 在业务镜像的Dockerfile中, 业务容器的启动 ENDPONITS基于语法规则添加dump ‑init启动参数。 [0007]具体的, 所述 容器镜像编译, 包括以下子步骤:说 明 书 1/3 页 3 CN 115269114 A 3

.PDF文档 专利 一种规避容器中僵尸进程的方法

文档预览
中文文档 6 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种规避容器中僵尸进程的方法 第 1 页 专利 一种规避容器中僵尸进程的方法 第 2 页 专利 一种规避容器中僵尸进程的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:29:27上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。