[发明专利]容器入口程序运行方法、系统、设备及存储介质有效
申请号: | 201710613154.1 | 申请日: | 2017-07-25 |
公开(公告)号: | CN107368339B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 陈宇量;吉志龙 | 申请(专利权)人: | 上海携程商务有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455;G06F9/54 |
代理公司: | 上海隆天律师事务所 31282 | 代理人: | 钟宗;夏彬 |
地址: | 200335 上海市长*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 容器 入口 程序 运行 方法 系统 设备 存储 介质 | ||
本发明提供了一种容器入口程序运行方法、系统、设备及存储介质,该方法包括设定容器的入口路径为一预设等待路径;启动容器;等待程序向一响应程序发送容器配置请求;响应程序获取容器的启动配置信息和入口信息;响应程序根据启动配置信息对容器进行资源配置,并于资源配置完成后将入口信息返回至等待程序;等待程序根据入口信息调用并运行容器的入口程序。本发明在用户不感知且对容器内部程序无修改的情况下,解决了现有技术中在依赖条件未满足时运行入口程序出错的问题;由响应程序进行资源配置,由等待程序设定资源配置完成后,调用并运行入口程序,使得容器在运行入口程序之前等待特定的资源配置,从而在满足依赖条件之后再运行入口程序。
技术领域
本发明涉及云平台容器技术领域,尤其涉及一种使得入口程序在满足依赖条件之后再运行的容器入口程序运行方法、系统、设备及存储介质。
背景技术
当前,以Docker为代表的容器技术带来了整个基础系统的技术革新,改变了开发、测试、交付和运行的流程和方式。一台物理机或者虚拟机上可以运行多个容器,容器之间文件系统、网络等资源互相隔离,该物理机和虚拟机也即宿主机。该技术使得应用以容器为单位进行调度、运行和扩缩容,调度和扩缩容甚至可以动态进行,与传统的基于物理机和虚拟机的方式相比,周期大大缩短。
在容器应用过程中,启动容器之后,其入口程序会立刻运行。然而,在真实使用场景中,常常遇到容器的入口程序的正确运行依赖于某些外部资源就绪的情况。例如,容器的入口程序需要访问某项网络服务,而容器的网络配置需要配置外部的资源,如配置交换机端口等等。如果容器启动后,立即运行入口程序,由于此时网络配置还没有完成,直接运行入口程序就会出错。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种容器入口程序运行方法、系统、设备及存储介质,实现在用户不感知且对容器内部程序无修改的情况下,使得容器在运行入口程序之前等待特定的资源配置,从而在满足依赖条件之后再运行入口程序。
本发明实施例提供一种容器入口程序运行方法,所述方法包括如下步骤:
设定容器的入口路径为一预设等待路径;
启动所述容器,读取所述预设等待路径处预存的等待程序;
将所述等待程序挂载至所述容器并运行所述等待程序;
所述等待程序向一响应程序发送容器配置请求,所述容器配置请求包括所述容器的识别信息;
所述响应程序根据所述容器的识别信息从宿主机获取所述容器的启动配置信息,并从镜像仓库中获取所述容器的入口信息;
所述响应程序根据所述启动配置信息对所述容器进行资源配置,并于资源配置完成后将所述入口信息返回至所述等待程序;
所述等待程序根据所述入口信息调用并运行容器的入口程序。
可选地,所述容器为docker容器,所述响应程序根据所述容器的识别信息获取所述容器的启动配置信息,并从镜像仓库中获取所述容器的入口信息,包括如下步骤:
所述响应程序根据所述容器的识别信息从宿主机获取所述容器的启动配置信息和镜像识别码;
所述响应程序根据所述镜像识别码从镜像仓库中获取对应的镜像文件,并提取所述镜像文件中的入口信息。
可选地,在docker run命令中将容器的入口路径设定为所述预设等待路径。
可选地,还包括如下步骤:
在docker run命令中增加volume参数,将宿主机的进程通信文件挂载到所述容器中。
可选地,所述响应程序位于所述容器外部,所述等待程序和所述响应程序基于所述进程通信文件中的进程通信协议进行通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海携程商务有限公司,未经上海携程商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710613154.1/2.html,转载请声明来源钻瓜专利网。