[发明专利]面向docker容器调用宿主机命令的通讯方法及系统有效
申请号: | 201910819645.0 | 申请日: | 2019-08-31 |
公开(公告)号: | CN110673963B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 张海军 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/455 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 刘雪萍 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 docker 容器 调用 宿主 命令 通讯 方法 系统 | ||
本发明提供一种面向docker容器调用宿主机命令的通讯方法及系统,方法包括如下步骤:S1.在宿主机部署并监听Unix套接字文件;S2.在docker容器中挂载并监听Unix套接字文件;S3.设置docker容器通过Unix套接字文件调用宿主机命令;系统包括:宿主机部署模块、docker容器部署模块以及通信设置模块。本发明提供的面向docker容器调用宿主机命令的通讯方法与系统,基于Unix套接字技术+命令行代理实现的远程执行命令服务,Unix套接字通讯,效率更高,更安全,主流编程语言都支持Unix套接字操作,客户端无需引入复杂的第三方依赖,开发更方便。
技术领域
本发明属于docker容器运行技术领域,具体涉及一种面向docker容器调用宿主机命令的通讯方法及系统。
背景技术
Docker:是一个开源的应用容器引擎,可以将应用软件以及依赖包打包进一个容器中运行,同时将应用与操作系统隔离。
宿主机:运行docker进程的操作系统,通常是linux系统。
镜像:提供容器运行时所需的程序、库、资源、配置等文件,以入一些为运行时准备的一些配置参数。
容器:镜像运行时的实体,是一个微缩版的操作系统,通常只运行一个进程,容器之间、容器与操作系统都是相互隔离的。
安全外壳协议:即:SSH,为Secure Shell的缩写,专为远程登录会话和其他网络服务提供安全性的协议,几乎所有UNIX平台都可运行SSH。
应用软件:在Docker中运行软件程序,简称应用。
使用Docker运行应用时,将应用部署在隔离容器中进行运行和管理,应用的运行与操作系统是隔离的。如果应用中涉及到使用宿主机命令的情况,由于Docker的隔离性,应用将无法用正常方式调用命令,必须使用其他手段达成。该需求经常出现在监控类的应用中,例如:监控宿主机资源使用情况、监控Docker容器运行情况、查询/导出系统日志等。
目前没有实现该需求的官方方案,通常是使用ssh建立应用到宿主机间的通讯。宿主机首先要开启sshd服务,并为应用分配好用户名、密码(或公钥)与权限,然后应用需要使用一种ssh客户端登录宿主机执行命令。现有的方案存在以下缺陷:
1.需要在宿主机的操作系统中为应用分配用户,还需设置用户密码(或公钥)与权限,部署过程较复杂。
2.依赖宿主机的ssh服务,而ssh是运维工具,如果开发人员也使用ssh时,不同团队间沟通成本较高,出现问题时不易定位。
3.开发时使用的ssh用户,通常不允许修改密码(或公钥),存在安全隐患。
4.ssh通讯依赖tcp协议,建立网络联接需要三次握手,与unix domain socket相比效率较低。
5.应用中需要集成ssh客户端,增加应用占用空间。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种面向docker容器调用宿主机命令的通讯方法及系统,是非常有必要的。
发明内容
针对现有技术的上述docker容器通过ssh建立应用到宿主机间的通讯,部署过程复杂、不易定位、存在安全隐患以及效率低的缺陷,本发明提供一种面向docker容器调用宿主机命令的通讯方法及系统,以解决上述技术问题。
第一方面,本发明提供一种面向docker容器调用宿主机命令的通讯方法,包括如下步骤:
S1.在宿主机部署并监听Unix套接字文件;
S2.在docker容器中挂载并监听Unix套接字文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910819645.0/2.html,转载请声明来源钻瓜专利网。