一种基于CGI实现的容器操作宿主机资源的方法与流程

文档序号:38045688发布日期:2024-05-20 11:17阅读:21来源:国知局
一种基于CGI实现的容器操作宿主机资源的方法与流程

本发明涉及xx,尤其涉及一种基于cgi实现的容器操作宿主机资源的方法。


背景技术:

1、目前,容器技术被广泛应用于云计算和微服务架构中,容器可以实现应用的隔离运行和轻量级虚拟化。然而,容器本身是不具备操作宿主机资源的功能,当容器需要访问宿主机的文件系统、进程信息等资源时会受到限制。

2、为了解决上述问题,现有技术主要有两种方案,一种方案是使用docker api,docker提供了一个restful api,可用于远程管理docker容器,通过在容器内安装docker客户端,并通过api访问宿主机的docker守护进程,如图1所示。其优点是基于docker现有组件与技术,无需接入其他技术组件,安装部署简单。其缺点是仅可实现宿主机对容器进行相关功能与资源操作,其他的资源访问操作无法实现,需要暴漏宿主机的docker守护进程端口,存在一定的安全隐患。

3、另一种方案是通过ssh连接到宿主机,以在容器内安装ssh客户端,并使用ssh连接到宿主机,需要提供宿主机的ip地址和ssh登录使用的账号、密码。其优点是可执行自定义脚本内容,功能扩展性强,实现方式简单,容易落地,如图2所示。其缺点是需要将服务器的ssh账号、密码配置到文件或写到脚本文件中,存在一定的安全隐患,不支持restful api方式访问。

4、由于现有技术方案在灵活性、可扩展性、易于使用、restulapi支持等方面存在不足,无法很好的满足实际使用时的需求。为此,本申请人经过有益的探索和研究,找到了解决上述问题的方法,下面将要介绍的技术方案便是在这种背景下产生的。


技术实现思路

1、本发明所要解决的技术问题在于:针对现有技术的不足而提供一种可靠性高、兼容性好、安装部署简单、维护成本低、易于扩展、灵活性高的基于cgi实现的容器操作宿主机资源的方法。

2、本发明所要解决的技术问题可以采用如下技术方案来实现:

3、一种基于cgi实现的容器操作宿主机资源的方法,包括以下步骤:

4、步骤s10,在宿主机安装fcgiwrap服务,并在宿主机启动fcgiwrap应用程序,并将其绑定到一个本地套接字fcgiwrap.socket上;

5、步骤s20,在宿主机创建cgi目录,并在cgi目录下编写dispacher.sh功能分发脚本,该脚本内容为接收ngxin转发的请求参数并完成解析,再根据参数调用对应的功能脚本;同时,在/cgi目录下编写要实现宿主机资源操作的功能脚本文件;然后,赋予以上创建脚本的执行权限;

6、步骤s30,容器启动nginx,并映射fcgiwrap.socket文件;

7、步骤s40,进入容器,修改容器配置,退出容器并重启;

8、步骤s50,打开浏览器,输入nginx访问地址,开始访问宿主机资源;

9、步骤s60,nginx接收到请求,利用factcgi模块根据规则解析请求中的相关参数及获取nginx自身提供的变量;

10、步骤s70,nginx根据location配置规则携带cgi相关参数并将请求转发到fcgiwrap.socket,发起对宿主机fcgiwrap服务的调用;

11、步骤s80,宿主机fcgiwrap接收到请求参数执行本地脚本dispacher.sh,dispacher.sh中解析请求参数获取script及method参数,并根据script及method调用具体的功能脚本,并将请求功能函数的参数传入,功能脚本函数执行,并返回结果

12、步骤s90,nginx收到结果返回给浏览器,浏览器展现访问结果。

13、由于采用了如上技术方案,本发明的有益效果在于:

14、1.发明所采用的nginx、fastcgi、fcgiwrap技术成熟稳定,方案整体可靠性高,支持restfulapi方式访问,兼容性好,易于集成与调用,安装部署简单,维护成本低

15、2.本发明在功能增加或修改时无需重启任何服务,即改即用;

16、3.本发明在功能增加或修改时,只需增加或调整功能脚本,访问方式、部署服务无需进行任何调整,易于扩展,灵活性高。



技术特征:

1.一种基于cgi实现的容器操作宿主机资源的方法,其特征在于,包括以下步骤:


技术总结
本发明公开的一种基于CGI实现的容器操作宿主机资源的方法,其基于nginx提供基本的RESTful API访问能力,结合ngxin fastcgi模块与fcgiwrap实现容器到宿主机的访问能力,nginx基于容器运行易部署,功能脚本基于shell编写,未引入外部依赖,更新时替换文件,新增功能时增加脚本即可,整体易于调试、维护。

技术研发人员:陈宇博,杨厂普,张凡,季龙
受保护的技术使用者:上海格尔安全科技有限公司
技术研发日:
技术公布日:2024/5/19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1