CN117271169A - 一种面向容器调用宿主机命令的通讯方法 - Google Patents
一种面向容器调用宿主机命令的通讯方法 Download PDFInfo
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network 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中,设置在宿主机的程序通过读取数据库内的命令字符串数据来读取到命令,从而调用宿主机命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311456618.4A CN117271169B (zh) | 2023-11-03 | 2023-11-03 | 一种面向容器调用宿主机命令的通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311456618.4A CN117271169B (zh) | 2023-11-03 | 2023-11-03 | 一种面向容器调用宿主机命令的通讯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117271169A true CN117271169A (zh) | 2023-12-22 |
CN117271169B CN117271169B (zh) | 2024-09-10 |
Family
ID=89212578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311456618.4A Active CN117271169B (zh) | 2023-11-03 | 2023-11-03 | 一种面向容器调用宿主机命令的通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271169B (zh) |
Citations (9)
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 |
US20180373505A1 (en) * | 2017-06-21 | 2018-12-27 | Ca, Inc. | Systems and methods for transforming service definitions in a multi-service containerized application |
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 | 苏州浪潮智能科技有限公司 | 一种命令执行方法以及装置 |
CN114443222A (zh) * | 2022-01-14 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种虚拟机执行宿主机指令的方法及装置 |
CN115840600A (zh) * | 2022-11-01 | 2023-03-24 | 国家电网有限公司信息通信分公司 | 命令执行方法、装置、设备及存储介质 |
-
2023
- 2023-11-03 CN CN202311456618.4A patent/CN117271169B/zh active Active
Patent Citations (10)
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 | 亚马逊技术股份有限公司 | 在虚拟机实例内执行命令 |
US20180373505A1 (en) * | 2017-06-21 | 2018-12-27 | Ca, Inc. | Systems and methods for transforming service definitions in a multi-service containerized application |
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 | 苏州浪潮智能科技有限公司 | 一种命令执行方法以及装置 |
CN114443222A (zh) * | 2022-01-14 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种虚拟机执行宿主机指令的方法及装置 |
CN115840600A (zh) * | 2022-11-01 | 2023-03-24 | 国家电网有限公司信息通信分公司 | 命令执行方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117271169B (zh) | 2024-09-10 |
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) | 一种嵌入式系统调试信息处理方法及装置 | |
CN108388496A (zh) | 一种系统日志的收集方法 | |
CN102938035A (zh) | 一种在虚拟机内部的驱动隔离系统与方法 | |
CN110555074B (zh) | 定时抽取和加工数据的方法、终端及计算机可读存储介质 | |
CN112130923A (zh) | 容器的管理方法、装置、电子设备及计算机可读存储介质 | |
CN111930703A (zh) | 日志文件自动抓取方法、装置和计算机设备 | |
CN117271169B (zh) | 一种面向容器调用宿主机命令的通讯方法 | |
CN114610567A (zh) | 容器监控方法、网络设备及存储介质 | |
CN113672306A (zh) | 服务器组件自检异常恢复方法、装置、系统及介质 | |
CN110764962A (zh) | 日志处理方法和装置 | |
JP2003535498A (ja) | 車両通信網内でエラーのある装置の処理方法 | |
CN108228439B (zh) | 一种程序与日志解耦的方法 | |
US20210173797A1 (en) | Method, apparatus, and device for transmitting file based on bmc, and medium | |
CN113791824B (zh) | 一种终端设备的外设驱动加载方法、系统及介质 | |
CN101741600B (zh) | 服务器系统与其记录装置 | |
EP1131708A1 (en) | Image file change capture method and apparatus | |
CN110830850A (zh) | 一种android机顶盒的调试信息获取方法 | |
CN113986598B (zh) | 一种确定开机故障原因的方法、装置、设备及存储介质 | |
CN109857715B (zh) | 一种强化错误排查支持的日志记录方法和系统 | |
CN111666168B (zh) | 一种自动记录测试异常的方法及终端 | |
CN116291912A (zh) | 发动机系统的控制方法、装置、电子设备和存储介质 | |
JP5871499B2 (ja) | 通信制御装置、通信制御システム、通信制御方法およびプログラム | |
CN117972677A (zh) | 一种office文档自动入沙的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |