[发明专利]一种基于Docker的防止僵尸进程容器镜像的方法及系统在审
| 申请号: | 202010902159.8 | 申请日: | 2020-09-01 |
| 公开(公告)号: | CN112035184A | 公开(公告)日: | 2020-12-04 |
| 发明(设计)人: | 尹东超;石光银;蔡卫卫;高传集 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455;G06F11/14 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 docker 防止 僵尸 进程 容器 方法 系统 | ||
本发明公开了一种基于Docker的防止僵尸进程容器镜像的方法及系统,属于Docker相关领域;所述的方法具体步骤如下:S1制作基础镜像的初始进程;S2利用SYSTEMD进程在基础镜像中对ENTRYPOINT进行指定;S3执行制作镜像命令;本发明从僵尸进程产生的根因出发,通过使用统一的具有收割僵尸进程能力的初始进程工具,集成到容器的基础镜像中,进而以用户规范的方式,将现有业务镜像的基础镜像升级为统一的具有防止僵尸进程产生的能力的基础镜像,以此可以从源头上避免业务容器镜像内僵尸进程的产生,保证了容器服务平台的健壮性和可靠性。
技术领域
本发明公开一种基于Docker的防止僵尸进程容器镜像的方法及系统,涉及Docker相关技术领域。
背景技术
Docker是基于Go语言实现的云开源项目,是为开发人员设计的,以容器调度和资源分割为单位,通过封装软件运行的环境,用于构建、发布和运行应用的平台。
Docker容器技术是一种类似OpenVZ,Zap和LXC的操作系统级虚拟化技术,用户可以创建和管理容器,高效快捷得使用多个虚拟环境.因而每一个工作负载都可以运行在独立的虚拟环境中,并且容器之间也可以获得较好的工作效率和隔离度。容器技术以共享内核资源的方式区别于传统虚拟机,实现轻量级的应用隔离。不管在容器中还是虚拟机中都有一个一号进程,虚拟机中是SYSTEMD进程,容器中是用户设定的ENTRYPOINT启动进程,然后所有的其他线程都是一号进程的子进程,或者子进程的子进程,递归下去。这里的主要差异就体现在SYSTEMD进程对僵尸进程回收的能力。
随着及容器化技术的快速发展以及Docker技术的深入使用,Docker应用数量的指数式增长。Docker容器技术的快速流行的同时,不可避免的产生容器化的一些误用,典型的一种误解就是将Docker容器当作虚拟机使用,将一堆应用进程在同一个容器内启动执行。但是容器和虚拟机在进程模型的设计上以及实际使用中对于进程的管理能力都具有巨大的差异。如果用户对容器的理解不够深入,使用方式不当,很容易会产生僵尸进程,严重导致系统进程资源耗尽,整个系统不可用。
故现发明一种基于Docker的防止僵尸进程容器镜像的方法及系统以解决上述问题。
发明内容
本发明针对现有技术的问题,提供一种基于Docker的防止僵尸进程容器镜像的方法及系统,所采用的技术方案为:
一种基于Docker的防止僵尸进程容器镜像的方法,所述的方法具体步骤如下:
S1制作基础镜像的初始进程;
S2利用SYSTEMD进程在基础镜像中对ENTRYPOINT进行指定;
S3执行制作镜像命令。
所述S1制作基础镜像的初始进程作为ENTRYPOINT启动进程。
所述S1利用tini作为制作初始进程的二进制程序,具体步骤如下:
S101利用tini对子孙进程的信号并进行转发;
S102利用tini对退出的子孙进行监控、回收。
所述S2中的SYSTEMD进程通过Dockerfile文件实现。
一种基于Docker的防止僵尸进程容器镜像的系统,所述的系统具体包括初始进程模块、进程指定模块和制作执行模块:
初始进程模块:制作基础镜像的初始进程;
进程指定模块:利用SYSTEMD进程在基础镜像中对ENTRYPOINT进行指定;
制作执行模块:执行制作镜像命令。
所述初始进程模块制作基础镜像的初始进程作为ENTRYPOINT启动进程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010902159.8/2.html,转载请声明来源钻瓜专利网。





