CN117271169A - 一种面向容器调用宿主机命令的通讯方法 - Google Patents

一种面向容器调用宿主机命令的通讯方法 Download PDF

Info

Publication number
CN117271169A
CN117271169A CN202311456618.4A CN202311456618A CN117271169A CN 117271169 A CN117271169 A CN 117271169A CN 202311456618 A CN202311456618 A CN 202311456618A CN 117271169 A CN117271169 A CN 117271169A
Authority
CN
China
Prior art keywords
command
container
database
host
service port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311456618.4A
Other languages
English (en)
Inventor
曾泳豪
赵定金
明德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Baolun Electronics Co ltd
Original Assignee
Guangdong Baolun Electronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Baolun Electronics Co ltd filed Critical Guangdong Baolun Electronics Co ltd
Priority to CN202311456618.4A priority Critical patent/CN117271169A/zh
Publication of CN117271169A publication Critical patent/CN117271169A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种面向容器调用宿主机命令的通讯方法,应用于需在所述容器内运行的应用,包括以下步骤:步骤1:在容器中启动数据库服务,并将数据库服务端口开放给宿主机,以使得数据库与宿主机之间建立通信连接;步骤2:监听容器内的数据库服务端口,若监听到数据库服务端口有传输命令,则执行步骤3;步骤3:基于容器内待运行的应用,将监听到命令写入并保存在数据库中;步骤4:宿主机从数据库读取命令,并基于读取到的命令调用宿主机命令,并记录执行宿主机命令后的运行结果。本发明调用命令记录可查,调用命令更安全,开发方便,适用场景广。

Description

一种面向容器调用宿主机命令的通讯方法
技术领域
本发明涉及容器与宿主机之间的通信技术领域,具体是一种面向容器调用宿主机命令的通讯方法。
背景技术
现有技术中,在使用podman或docker容器运行软件应用程序时,是将应用部署在隔离容器中进行运行和管理,软件应用程序的运行与操作系统是隔离的。若软件应用程序涉及到需要使用宿主机命令的情况,由于podman或docker的隔离性,软件应用程序将无法采用正常方式来调用宿主机的命令。为了实现能够调用宿主机的命令,现有的实现方法,通常是基于宿主机的ssh服务或者利用unix系统通讯,但采用这类通讯技术,无法记录具体操作,也无法记录命令操作运行的具体结果。由于无法记录具体操作以及具体操作带来的具体结果,使得后续排出排查各种异常问题时,无法很好的定位到出现异常之前所运行命令的各种状态和结果。围成因此,需要一种调用宿主机命令记录可查的通讯方法。
发明内容
针对现有技术的不足,本发明的目的是提供一种面向容器调用宿主机命令的通讯方法,其能够解决背景技术描述的问题。
实现本发明的目的的技术方案为:一种面向容器调用宿主机命令的通讯方法,应用于需在所述容器内运行的应用,包括以下步骤:
步骤1:在容器中启动数据库服务,并将数据库服务端口开放给宿主机,以使得数据库与宿主机之间建立通信连接;
步骤2:监听容器内的数据库服务端口,若监听到数据库服务端口有传输命令,则执行步骤3;
步骤3:基于容器内待运行的应用,将监听到命令写入并保存在数据库中;
步骤4:宿主机从数据库读取命令,并基于读取到的命令调用宿主机命令,并记录执行宿主机命令后的运行结果。
进一步地,容器为podman容器或docker容器。
进一步地,数据库为mysql数据库。
进一步地,在步骤2中,通过在宿主机内部署监听模块实现监听容器内的数据库服务端口。
进一步地,在步骤2中,还包括,
若未监听到数据库服务端口有传输命令,则继续监听或者结束处理。
进一步地,在步骤4中,设置在宿主机的程序通过读取数据库内的命令字符串数据来读取到命令,从而调用宿主机命令。
本发明的有益效果为:本发明基于mysql数据库技术+命令行代理实现的远程执行命令服务,所有调用命令的记录均保存于数据库,调用命令记录可查。另外实现调用命令更安全,且主流编程语言都支持mysql数据库操作,开发方便,适用场景广。本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面结合附图及具体实施方案,对本发明做进一步描述:
如图1所示,一种面向容器调用宿主机命令的通讯方法,应用于需在所述容器内运行的应用,该应用是指软件应用程序,简称为应用,包括以下步骤:
步骤1:在容器中启动数据库服务,并将数据库服务端口开放给宿主机,以使得数据库与宿主机之间建立通信连接。
容器可以为podman容器或docker容器。
数据库为关系型数据库,例如,可以选用mysql数据库。
步骤2:在宿主机内部署监听模块,监听模块用于监听容器内的数据库服务端口。若监听到数据库服务端口有传输命令,则执行步骤3,否则,继续监听或者结束处理。
步骤3:基于容器内待运行的应用,将监听到命令写入并保存在数据库中。
步骤4:宿主机从数据库读取命令,并基于读取到的命令调用宿主机命令,并记录执行宿主机命令后的运行结果。
其中,设置在宿主机的程序会通过读取数据库内的命令字符串数据来读取到命令,从而调用宿主机命令。
本发明基于mysql数据库技术+命令行代理实现的远程执行命令服务,所有调用命令的记录均保存于数据库,调用命令记录可查。另外实现调用命令更安全,且主流编程语言都支持mysql数据库操作,开发方便,适用场景广。本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
本说明书所公开的实施例只是对本发明单方面特征的一个例证,本发明的保护范围不限于此实施例,其他任何功能等效的实施例均落入本发明的保护范围内。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

Claims (6)

1.一种面向容器调用宿主机命令的通讯方法,其特征在于,应用于需在所述容器内运行的应用,包括以下步骤:
步骤1:在容器中启动数据库服务,并将数据库服务端口开放给宿主机,以使得数据库与宿主机之间建立通信连接;
步骤2:监听容器内的数据库服务端口,若监听到数据库服务端口有传输命令,则执行步骤3;
步骤3:基于容器内待运行的应用,将监听到命令写入并保存在数据库中;
步骤4:宿主机从数据库读取命令,并基于读取到的命令调用宿主机命令,并记录执行宿主机命令后的运行结果。
2.根据权利要求1所述的面向容器调用宿主机命令的通讯方法,其特征在于,容器为podman容器或docker容器。
3.根据权利要求1所述的面向容器调用宿主机命令的通讯方法,其特征在于,数据库为mysql数据库。
4.根据权利要求1所述的面向容器调用宿主机命令的通讯方法,其特征在于,在步骤2中,通过在宿主机内部署监听模块实现监听容器内的数据库服务端口。
5.根据权利要求1所述的面向容器调用宿主机命令的通讯方法,其特征在于,在步骤2中,还包括,
若未监听到数据库服务端口有传输命令,则继续监听或者结束处理。
6.根据权利要求1所述的面向容器调用宿主机命令的通讯方法,其特征在于,在步骤4中,设置在宿主机的程序通过读取数据库内的命令字符串数据来读取到命令,从而调用宿主机命令。
CN202311456618.4A 2023-11-03 2023-11-03 一种面向容器调用宿主机命令的通讯方法 Pending CN117271169A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311456618.4A CN117271169A (zh) 2023-11-03 2023-11-03 一种面向容器调用宿主机命令的通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311456618.4A CN117271169A (zh) 2023-11-03 2023-11-03 一种面向容器调用宿主机命令的通讯方法

Publications (1)

Publication Number Publication Date
CN117271169A true CN117271169A (zh) 2023-12-22

Family

ID=89212578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311456618.4A Pending CN117271169A (zh) 2023-11-03 2023-11-03 一种面向容器调用宿主机命令的通讯方法

Country Status (1)

Country Link
CN (1) CN117271169A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593246A (zh) * 2012-08-15 2014-02-19 中国电信股份有限公司 虚拟机和宿主机之间的通信方法、宿主机和虚拟机系统
WO2016153881A1 (en) * 2015-03-20 2016-09-29 Amazon Technologies, Inc. Executing commands within virtual machine instances
CN110673963A (zh) * 2019-08-31 2020-01-10 苏州浪潮智能科技有限公司 面向docker容器调用宿主机命令的通讯方法及系统
CN112187747A (zh) * 2020-09-15 2021-01-05 中信银行股份有限公司 一种远程容器登录方法、装置及电子设备
CN112199435A (zh) * 2020-12-04 2021-01-08 武汉绿色网络信息服务有限责任公司 访问嵌入式数据库的方法、装置、计算机设备及存储介质
CN112650557A (zh) * 2020-12-28 2021-04-13 苏州浪潮智能科技有限公司 一种命令执行方法以及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593246A (zh) * 2012-08-15 2014-02-19 中国电信股份有限公司 虚拟机和宿主机之间的通信方法、宿主机和虚拟机系统
WO2016153881A1 (en) * 2015-03-20 2016-09-29 Amazon Technologies, Inc. Executing commands within virtual machine instances
CN107408064A (zh) * 2015-03-20 2017-11-28 亚马逊技术股份有限公司 在虚拟机实例内执行命令
CN110673963A (zh) * 2019-08-31 2020-01-10 苏州浪潮智能科技有限公司 面向docker容器调用宿主机命令的通讯方法及系统
CN112187747A (zh) * 2020-09-15 2021-01-05 中信银行股份有限公司 一种远程容器登录方法、装置及电子设备
CN112199435A (zh) * 2020-12-04 2021-01-08 武汉绿色网络信息服务有限责任公司 访问嵌入式数据库的方法、装置、计算机设备及存储介质
CN112650557A (zh) * 2020-12-28 2021-04-13 苏州浪潮智能科技有限公司 一种命令执行方法以及装置

Similar Documents

Publication Publication Date Title
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US7263632B2 (en) Programmatic computer problem diagnosis and resolution and automated reporting and updating of the same
CN104951395A (zh) 一种嵌入式系统调试信息处理方法及装置
CN102938035A (zh) 一种在虚拟机内部的驱动隔离系统与方法
CN108388496A (zh) 一种系统日志的收集方法
CN110555074B (zh) 定时抽取和加工数据的方法、终端及计算机可读存储介质
CN112130923A (zh) 容器的管理方法、装置、电子设备及计算机可读存储介质
CN111930703A (zh) 日志文件自动抓取方法、装置和计算机设备
CN113672306B (zh) 服务器组件自检异常恢复方法、装置、系统及介质
CN117271169A (zh) 一种面向容器调用宿主机命令的通讯方法
CN110764962A (zh) 日志处理方法和装置
JP2003535498A (ja) 車両通信網内でエラーのある装置の処理方法
CN111124370A (zh) 一种数据处理方法及相关设备
CN108228439B (zh) 一种程序与日志解耦的方法
US6427208B1 (en) Image file change capture method and apparatus
CN113791824B (zh) 一种终端设备的外设驱动加载方法、系统及介质
CN100356320C (zh) 用于选择多版本软件的方法和选择设备
CN101741600A (zh) 服务器系统、与其记录装置与管理方法
CN110830850A (zh) 一种android机顶盒的调试信息获取方法
CN113986598B (zh) 一种确定开机故障原因的方法、装置、设备及存储介质
CN109857715B (zh) 一种强化错误排查支持的日志记录方法和系统
CN111666168B (zh) 一种自动记录测试异常的方法及终端
CN116291912A (zh) 发动机系统的控制方法、装置、电子设备和存储介质
CN117972677A (zh) 一种office文档自动入沙的方法
CN101452401A (zh) 一种将配置文件映射到内存的操作方法及其系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination