CN106685949A - 一种容器访问方法、装置以及系统 - Google Patents

一种容器访问方法、装置以及系统 Download PDF

Info

Publication number
CN106685949A
CN106685949A CN201611211425.2A CN201611211425A CN106685949A CN 106685949 A CN106685949 A CN 106685949A CN 201611211425 A CN201611211425 A CN 201611211425A CN 106685949 A CN106685949 A CN 106685949A
Authority
CN
China
Prior art keywords
container
information
authentication
target container
target
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
CN201611211425.2A
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.)
SHANGHAI QINIU INFORMATION TECHNOLOGIES Co Ltd
Original Assignee
SHANGHAI QINIU INFORMATION TECHNOLOGIES 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 SHANGHAI QINIU INFORMATION TECHNOLOGIES Co Ltd filed Critical SHANGHAI QINIU INFORMATION TECHNOLOGIES Co Ltd
Priority to CN201611211425.2A priority Critical patent/CN106685949A/zh
Publication of CN106685949A publication Critical patent/CN106685949A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种容器访问方法、装置以及系统,所述容器访问方法包括:接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息;根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程;通过所述壳进程与所述客户端建立数据交换链接。本发明无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。

Description

一种容器访问方法、装置以及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种容器访问方法、装置以及系统。
背景技术
现阶段,容器作为一种轻量级的虚拟机技术,由于创建、销毁成本低;系统、进程相互隔离,越来越多的系统和架构采用容器来进行部署,使用也日益广泛。
在传统的运维服务中,需要使用ssh协议提供登录功能,而当采用大规模容器技术时,往往无法很好的提供登录访问功能,存在以下问题:1、由于容器技术一般是单进程,额外运行ssh协议对应的sshd进程会浪费大量的资源;2、为每个单独容器配置用户名、密码,十分繁琐,运维效率较低;3、为每个容器提供访问路径会照成网络资源的浪费。因此,当前技术中大规模容器部署时的登录访问功能,亟待进一步的完善和解决。
发明内容
本发明提供一种容器访问方法、装置以及系统,能够用于容器的登录,无须运行额外的进程或者单独配置用户名、密码以及访问路径,效率较高。
本发明第一方面提供了一种容器访问方法,包括:
接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息;
根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程;
通过所述壳进程与所述客户端建立数据交换链接。
可选地,所述根据所述鉴权信息验证所述登录请求,包括:
解析所述登录请求包括的鉴权信息,所述鉴权信息包括用户账号以及密码;
验证所述用户账号以及密码是否匹配;
获取所述用户账号对应的登录权限,判断所述用户账号对所述目标容器是否具有登录权限;
若所述用户账号以及密码匹配,且所述用户账号对所述目标容器具有登录权限,则确认为所述登录请求验证通过。
可选地,所述获取所述目标容器的运行信息以及网络位置信息,包括:
根据所述目标容器信息,向预设的关系型数据库发出查询请求;
接收所述关系型数据库的返回信息,根据所述返回信息获取所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
可选地,所述在所述目标容器上启动壳进程,包括:
根据所述运行信息以及网络位置信息在容器集群中查找所述目标容器;
通过容器引擎在所述目标容器上启动壳进程;
通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
本发明第二方面提供了一种容器访问装置,包括:
接收模块,用于接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息;
验证模块,用于根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
启动模块,用于根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程;
数据交换模块,用于通过所述壳进程与所述客户端建立数据交换链接。
可选地,所述验证模块包括:
解析单元,用于解析所述登录请求包括的鉴权信息,所述鉴权信息包括用户账号以及密码;
第一验证单元,用于验证所述用户账号以及密码是否匹配;
第二验证单元,用于获取所述用户账号对应的登录权限,判断所述用户账号对所述目标容器是否具有登录权限;
确定单元,用于当所述用户账号以及密码匹配,且所述用户账号对所述目标容器具有登录权限时,确认为所述登录请求验证通过。
可选地,所述验证模块还包括:
查询单元,用于根据所述目标容器信息,向预设的关系型数据库发出查询请求;
获取单元,用于接收所述关系型数据库的返回信息,根据所述返回信息获取所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
可选地,所述启动模块包括:
查找单元,用于根据所述运行信息以及网络位置信息在容器集群中查找所述目标容器;
启动单元,用于通过容器引擎在所述目标容器上启动壳进程;
交互单元,用于通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
本发明第三方面提供了一种容器访问系统,包括:客户端、登录服务器以及容器集群,所述容器集群包括容器引擎以及至少一个容器;
所述客户端,用于向所述登录服务器发送登录请求,所述登录请求包括鉴权信息以及目标容器信息;
所述登录服务器,用于根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
所述登录服务器还用于根据所述运行信息以及网络位置信息,在所述容器集群中查找所述目标容器,并在所述目标容器上启动壳进程;
所述登录服务器还用于通过所述壳进程与所述客户端建立数据交换链接。
可选地,所述容器访问系统还包括:鉴权服务器;
所述登录服务器向所述鉴权服务器发送鉴权请求,所述鉴权请求包括所述鉴权信息以及目标容器信息,所述鉴权信息包括用户账号以及密码;
所述鉴权服务器,用于验证所述用户账号以及密码是否匹配以及所述用户账号对所述目标容器是否具有登录权限。
可选地,所述容器访问系统还包括:关系型数据库;
所述登录服务器根据所述目标容器信息,向关系型数据库发出查询请求;
所述关系型数据,用于根据所述查询请求返回相应的查询信息,所述查询信息包括所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
可选地,所述登录服务器在所述目标容器上启动壳进程,包括:
所述登录服务器通过所述容器引擎在所述目标容器上启动壳进程;
所述登录服务器还用于通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
实施本发明,具有如下有益效果:
本发明通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
附图说明
为了更清楚地说明本发明中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种容器访问方法第一实施例的流程图。
图2为本发明实施例提供的一种容器访问方法第二实施例的流程图。
图3为本发明实施例提供的一种容器访问方法第三实施例的流程图。
图4为本发明实施例提供的一种容器访问方法第四实施例的流程图。
图5为本发明实施例提供的一种容器访问装置一种实施方式的结构示意图。
图6为本发明实施例提供的一种容器访问系统一种实施方式的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的一种容器访问方法第一实施例的流程图。在本实施方式中,该容器访问方法应用于登录服务器,所述登录服务器用于接收客户端的访问,并根据客户端的访问查找对应的容器,使得客户端能够通过该登录服务器访问到对应的容器。可选地,该登录服务器还可以实现鉴权等功能,在客户端发送访问请求时,判断该访问请求是否合法有效。本实施例中,该容器访问方法包括以下步骤S101-S104。
在步骤S101中,接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息。
具体的,当用户想要登录相应的容器时,用户通过客户端发送相应的登录请求。其中,所述登录请求包括鉴权信息以及目标容器信息。可选的,登录服务器可以提供相应的登录界面,客户端通过访问该登录界面,输入相应的鉴权信息以及目标容器信息。所述鉴权信息包括用户名以及密码信息,所述目标容器信息包括用户想要登录的目标容器的标识信息。
在步骤S102中,根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息。
具体的,在获取到所述登录请求了之后,还需要验证所述登录请求是否有效。本实施例中,可以通过专门的鉴权服务器进行验证,所述鉴权服务器上保存有相应的鉴权信息以及权限信息;也可以由登录服务器自行进行验证。所述验证过程主要包括验证用户名以及密码是否匹配,以及该用户名是否具有该队员的目标容器的访问权限等。当验证通过时,进一步的获取该目标容器的运行信息以及网络位置信息。
在步骤S103中,根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程。
具体的,在获取到目标容器的相关信息了之后,在目标容器上启动壳进程。可以理解的是,可以是通过容器引擎在目标容器上启动壳进程,所述壳进程可用于实现登录以及访问。
在步骤S104中,通过所述壳进程与所述客户端建立数据交换链接。
具体的,在目标容器上建立了相应的壳进程了之后,通过该壳进程与客户端建立数据交换链接,从而可以实现客户端直接与容器进行数据交换,实现客户端对容器的访问。
上述可知,本发明实施例中的容器访问方法,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
图2为本发明实施例提供的一种容器访问方法第二实施例的流程图。对比图1所示的第一实施例,在本实施例中,进一步包括了验证登录请求的步骤,该容器访问方法包括以下步骤S201-S208。
在步骤S201中,接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息。
在步骤S202中,解析所述登录请求包括的鉴权信息,所述鉴权信息包括用户账号以及密码。
具体的,在获取到登录请求之后,解析其中的鉴权信息,所述鉴权信息包括用户账号以及密码。其中,所述用户账号以及密码用于执行后续的登录操作,在本实施方式中,可以根据用户账号以及密码进行验证是否是有效的登录请求。
在步骤S203中,验证所述用户账号以及密码是否匹配。
具体的,可以通过查询数据库的方式验证所述用户账号以及密码是否匹配。
在步骤S204中,获取所述用户账号对应的登录权限,判断所述用户账号对所述目标容器是否具有登录权限。
具体的,在用户账号以及密码匹配时,进一步的获取用户账号对应的登录权限,并判断用户账号对所述目标容器是否具有登录权限。可以理解的是,不同的用户账号对应着不同容器的的登录权限。
在步骤S205中,若所述用户账号以及密码匹配,且所述用户账号对所述目标容器具有登录权限,则确认为所述登录请求验证通过。
具体的,当用户账号、密码匹配,以及登录权限也具备时,才确认为登录请求验证通过。
在步骤S206中,获取所述目标容器的运行信息以及网络位置信息。
在步骤S207中,根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程。
在步骤S208中,通过所述壳进程与所述客户端建立数据交换链接。
上述可知,本发明实施例中的容器访问方法,通过根据客户端的登录请求进行验证,并根据登录请求进行相应的鉴权验证操作,在验证通过时,根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
图3为本发明实施例提供的一种容器访问方法第三实施例的流程图。对比图1所示的第一实施例,在本实施方式中,进一步包括了获取目标容器信息的步骤,可以理解的是,本实施例中获取目标容器信息的步骤也可运用于图2所示的第二实施例中。该容器访问方法包括以下步骤S301-S306。
在步骤S301中,接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息。
在步骤S302中,根据所述鉴权信息验证所述登录请求。
在步骤S303中,根据所述目标容器信息,向预设的关系型数据库发出查询请求。
具体的,当鉴权信息验证有效通过时,根据登录请求中的目标容器信息,进一步进行查询。本实施例中,通过向预设的关系型数据库发出查询请求。所述关系型数据库中保存了当前所有容器的相关信息。关系型数据库在接收到查询请求之后会返回相应的信息。
在步骤S304中,接收所述关系型数据库的返回信息,根据所述返回信息获取所述目标容器的运行信息以及网络位置信息。
具体的,接收关系型数据库的返回信息,根据返回信息获取目标容器的运行信息以及网络位置信息。其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
在步骤S305中,根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程。
在步骤S306中,通过所述壳进程与所述客户端建立数据交换链接。
上述可知,本发明实施例中的容器访问方法,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
图4为本发明实施例提供的一种容器访问方法第四实施例的流程图。对比图1所示的第一实施例,在本实施例中,进一步包括了在目标容器上启动壳进程的步骤。可以理解的是,本实施例中启动壳进程的步骤也可以运用于图2或者图3所示的实施例中。该容器访问方法包括以下步骤S401-S406。
在步骤S401中,接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息。
在步骤S402中,根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息。
在步骤S403中,根据所述运行信息以及网络位置信息在容器集群中查找所述目标容器。
具体的,由于容器集群中存在着很多的容器,此时根据目标容器的网络位置信息在容器集群中进行定位,查找对应的目标容器。
在步骤S404中,通过容器引擎在所述目标容器上启动壳进程。
具体的,在查找到目标容器了之后,通过容器引擎在目标容器上启动壳shell进程,所述壳进程可用于目标容器的登录。
在步骤S405中,通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
具体的,在本步骤中,登录服务器通过websocket协议与容器引擎进行交互,并接管目标容器上壳进程的输入流和输出流。本领域技术人员可以理解的是,websocket协议可用于实现双工通信。
在步骤S406中,通过所述壳进程与所述客户端建立数据交换链接。
上述可知,本发明实施例中的容器访问方法,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,由于登录服务器与容器引擎之间采用websocket协议,可以实现双工通信,因此从客户端侧来看,可以达到模拟ssh协议登录的目的,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
为便于更好的实施本发明实施例的上述方案,下面还提供用于配合实施上述方案的相关装置。
图5所示为本发明实施例提供的一种容器访问装置一种实施方式的结构示意图。该容器访问装置应用于登录服务器,所述登录服务器用于接收客户端的访问,并根据客户端的访问查找对应的容器,使得客户端能够通过该登录服务器访问到对应的容器。可选地,该登录服务器还可以实现鉴权等功能,在客户端发送访问请求时,判断该访问请求是否合法有效。本实施例中,该容器访问装置包括接收模块501、验证模块502、启动模块503以及数据交换模块504。
接收模块501,用于接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息。
具体的,当用户想要登录相应的容器时,用户通过客户端发送相应的登录请求,接收模块501接收所述登录请求。其中,所述登录请求包括鉴权信息以及目标容器信息。可选的,登录服务器可以提供相应的登录界面,客户端通过访问该登录界面,输入相应的鉴权信息以及目标容器信息。所述鉴权信息包括用户名以及密码信息,所述目标容器信息包括用户想要登录的目标容器的标识信息。
验证模块502,用于根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息。
具体的,在获取到所述登录请求了之后,验证模块502验证所述登录请求是否有效。本实施例中,可以通过专门的鉴权服务器进行验证,所述鉴权服务器上保存有相应的鉴权信息以及权限信息;也可以由登录服务器自行进行验证。所述验证过程主要包括验证用户名以及密码是否匹配,以及该用户名是否具有该队员的目标容器的访问权限等。当验证通过时,进一步的获取该目标容器的运行信息以及网络位置信息。
启动模块503,用于根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程。
具体的,在获取到目标容器的相关信息了之后,启动模块503在目标容器上启动壳进程。可以理解的是,可以是通过容器引擎在目标容器上启动壳进程,所述壳进程可用于实现登录以及访问。
数据交换模块504,用于通过所述壳进程与所述客户端建立数据交换链接。
具体的,在目标容器上建立了相应的壳进程了之后,数据交换模块504通过该壳进程与客户端建立数据交换链接,从而可以实现客户端直接与容器进行数据交换,实现客户端对容器的访问。
上述可知,本发明实施例中的容器访问装置,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
在其他实施方式中,所述验证模块502可进一步包括:
解析单元,用于解析所述登录请求包括的鉴权信息,所述鉴权信息包括用户账号以及密码;
第一验证单元,用于验证所述用户账号以及密码是否匹配;
第二验证单元,用于获取所述用户账号对应的登录权限,判断所述用户账号对所述目标容器是否具有登录权限;
确定单元,用于当所述用户账号以及密码匹配,且所述用户账号对所述目标容器具有登录权限时,确认为所述登录请求验证通过。
在其他实施方式中,所述验证模块502可进一步包括:
查询单元,用于根据所述目标容器信息,向预设的关系型数据库发出查询请求;
获取单元,用于接收所述关系型数据库的返回信息,根据所述返回信息获取所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
在其他实施方式中,所述启动模块503可进一步包括:
查找单元,用于根据所述运行信息以及网络位置信息在容器集群中查找所述目标容器;
启动单元,用于通过容器引擎在所述目标容器上启动壳进程;
交互单元,用于通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
上述可知,本发明实施例中的容器访问装置,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,由于登录服务器与容器引擎之间采用websocket协议,可以实现双工通信,因此从客户端侧来看,可以达到模拟ssh协议登录的目的,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
本发明实施例还提供了一种终端,所述终端包括如图5所述的容器访问装置,所述终端可以应用如图1-4所述的容器访问方法。
上述可知,本发明实施例中的终端,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
图6所示为本发明实施例提供的一种容器访问系统一种实施方式的结构示意图。如图所示,所述容器访问系统600包括:客户端601、登录服务器602以及容器集群603。其中,所述容器集群603包括容器引擎以及至少一个容器。在其他实施方式中,所述容器访问系统600还可以进一步包括:鉴权服务器604以及关系型数据库605。下面详细介绍容器访问系统600各结构的功能。
客户端601,用于向所述登录服务器602发送登录请求,所述登录请求包括鉴权信息以及目标容器信息;
所述登录服务器602,用于根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
所述登录服务器602还用于根据所述运行信息以及网络位置信息,在所述容器集群603中查找所述目标容器,并在所述目标容器上启动壳进程;
所述登录服务器602还用于通过所述壳进程与所述客户端建立数据交换链接。
上述可知,本发明实施例中的容器访问系统,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
在其他实施方式中,所述登录服务器602向所述鉴权服务器604发送鉴权请求,所述鉴权请求包括所述鉴权信息以及目标容器信息,所述鉴权信息包括用户账号以及密码;
所述鉴权服务器604,用于验证所述用户账号以及密码是否匹配以及所述用户账号对所述目标容器是否具有登录权限。
在其他实施方式中,所述登录服务器602根据所述目标容器信息,向关系型数据库605发出查询请求;
所述关系型数据605,用于根据所述查询请求返回相应的查询信息,所述查询信息包括所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
在其他实施方式中,所述登录服务器602在所述目标容器上启动壳进程,包括:
所述登录服务器602通过所述容器引擎在所述目标容器上启动壳进程;
所述登录服务器602还用于通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
上述可知,本发明实施例中的容器访问系统,通过根据客户端的登录请求进行验证,并在验证通过时根据客户端的请求在相应的目标容器上启动壳进程,通过壳进程实现与客户端的数据交换,由于登录服务器与容器引擎之间采用websocket协议,可以实现双工通信,因此从客户端侧来看,可以达到模拟ssh协议登录的目的,从而无需在容器上运行相关sshd进程,也无需为单独的容器配置用户名、密码以及网络访问路径,可以实现从客户端访问任意的容器,避免了繁琐的配置过程,节省了服务器资源,提高了配置效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块、单元可以根据实际需要进行合并、划分和删减。本领域的技术人员可以将本说明书中描述的不同实施例以及不同实施例的特征进行结合或组合。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(Digital SubscriberLine,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种容器访问方法,其特征在于,包括:
接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息;
根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程;
通过所述壳进程与所述客户端建立数据交换链接。
2.如权利要求1所述的容器访问方法,其特征在于,所述根据所述鉴权信息验证所述登录请求,包括:
解析所述登录请求包括的鉴权信息,所述鉴权信息包括用户账号以及密码;
验证所述用户账号以及密码是否匹配;
获取所述用户账号对应的登录权限,判断所述用户账号对所述目标容器是否具有登录权限;
若所述用户账号以及密码匹配,且所述用户账号对所述目标容器具有登录权限,则确认为所述登录请求验证通过。
3.如权利要求1所述的容器访问方法,其特征在于,所述获取所述目标容器的运行信息以及网络位置信息,包括:
根据所述目标容器信息,向预设的关系型数据库发出查询请求;
接收所述关系型数据库的返回信息,根据所述返回信息获取所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
4.如权利要求1-3任一项所述的容器访问方法,其特征在于,所述在所述目标容器上启动壳进程,包括:
根据所述运行信息以及网络位置信息在容器集群中查找所述目标容器;
通过容器引擎在所述目标容器上启动壳进程;
通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
5.一种容器访问装置,其特征在于,包括:
接收模块,用于接收客户端发送的登录请求,所述登录请求包括鉴权信息以及目标容器信息;
验证模块,用于根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
启动模块,用于根据所述运行信息以及网络位置信息,在所述目标容器上启动壳进程;
数据交换模块,用于通过所述壳进程与所述客户端建立数据交换链接。
6.如权利要求5所述的容器访问装置,其特征在于,所述验证模块包括:
解析单元,用于解析所述登录请求包括的鉴权信息,所述鉴权信息包括用户账号以及密码;
第一验证单元,用于验证所述用户账号以及密码是否匹配;
第二验证单元,用于获取所述用户账号对应的登录权限,判断所述用户账号对所述目标容器是否具有登录权限;
确定单元,用于当所述用户账号以及密码匹配,且所述用户账号对所述目标容器具有登录权限时,确认为所述登录请求验证通过。
7.如权利要求5所述的容器访问装置,其特征在于,所述验证模块还包括:
查询单元,用于根据所述目标容器信息,向预设的关系型数据库发出查询请求;
获取单元,用于接收所述关系型数据库的返回信息,根据所述返回信息获取所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
8.如权利要求5-7任一项所述的容器访问装置,其特征在于,所述启动模块包括:
查找单元,用于根据所述运行信息以及网络位置信息在容器集群中查找所述目标容器;
启动单元,用于通过容器引擎在所述目标容器上启动壳进程;
交互单元,用于通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
9.一种容器访问系统,其特征在于,包括:客户端、登录服务器以及容器集群,所述容器集群包括容器引擎以及至少一个容器;
所述客户端,用于向所述登录服务器发送登录请求,所述登录请求包括鉴权信息以及目标容器信息;
所述登录服务器,用于根据所述鉴权信息验证所述登录请求,并在所述登录请求验证通过时,获取所述目标容器的运行信息以及网络位置信息;
所述登录服务器还用于根据所述运行信息以及网络位置信息,在所述容器集群中查找所述目标容器,并在所述目标容器上启动壳进程;
所述登录服务器还用于通过所述壳进程与所述客户端建立数据交换链接。
10.如权利要求9所述的容器访问系统,其特征在于,还包括:鉴权服务器;
所述登录服务器向所述鉴权服务器发送鉴权请求,所述鉴权请求包括所述鉴权信息以及目标容器信息,所述鉴权信息包括用户账号以及密码;
所述鉴权服务器,用于验证所述用户账号以及密码是否匹配以及所述用户账号对所述目标容器是否具有登录权限。
11.如权利要求9所述的容器访问系统,其特征在于,还包括:关系型数据库;
所述登录服务器根据所述目标容器信息,向关系型数据库发出查询请求;
所述关系型数据,用于根据所述查询请求返回相应的查询信息,所述查询信息包括所述目标容器的运行信息以及网络位置信息,
其中,所述运行信息包括:运行、暂停以及退出;所述网络位置信息包括:内网IP地址。
12.如权利要求9-11任一项所述的容器访问系统,其特征在于,所述登录服务器在所述目标容器上启动壳进程,包括:
所述登录服务器通过所述容器引擎在所述目标容器上启动壳进程;
所述登录服务器还用于通过websocket协议与所述容器引擎进行交互,接管所述壳进程的输入流和输出流。
CN201611211425.2A 2016-12-24 2016-12-24 一种容器访问方法、装置以及系统 Pending CN106685949A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611211425.2A CN106685949A (zh) 2016-12-24 2016-12-24 一种容器访问方法、装置以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611211425.2A CN106685949A (zh) 2016-12-24 2016-12-24 一种容器访问方法、装置以及系统

Publications (1)

Publication Number Publication Date
CN106685949A true CN106685949A (zh) 2017-05-17

Family

ID=58870543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611211425.2A Pending CN106685949A (zh) 2016-12-24 2016-12-24 一种容器访问方法、装置以及系统

Country Status (1)

Country Link
CN (1) CN106685949A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480509A (zh) * 2017-09-22 2017-12-15 携程旅游网络技术(上海)有限公司 运维安全审计系统登录容器方法、系统、设备及存储介质
CN107634951A (zh) * 2017-09-22 2018-01-26 携程旅游网络技术(上海)有限公司 Docker容器安全管理方法、系统、设备及存储介质
CN109525624A (zh) * 2017-09-20 2019-03-26 腾讯科技(深圳)有限公司 一种容器登录方法、装置及存储介质
CN109858238A (zh) * 2017-11-30 2019-06-07 北京神州泰岳软件股份有限公司 一种连接容器的方法、装置、系统和计算机可读存储介质
WO2019128007A1 (zh) * 2017-12-29 2019-07-04 平安科技(深圳)有限公司 一种容器登录方法、应用服务器、系统及存储介质
CN111200595A (zh) * 2019-12-20 2020-05-26 北京淇瑀信息科技有限公司 一种访问容器的权限管理方法、装置和电子设备
CN111367573A (zh) * 2020-03-12 2020-07-03 腾讯科技(深圳)有限公司 设备登陆方法、装置、存储介质和计算机设备
CN111510444A (zh) * 2020-04-09 2020-08-07 上海云励科技有限公司 容器的远程访问方法、系统、服务端和访问辅助组件
CN112653571A (zh) * 2020-08-20 2021-04-13 国家电网公司华中分部 一种基于虚拟机与容器的混合调度方法
CN114915609A (zh) * 2021-01-29 2022-08-16 中国电信股份有限公司 容器多网络平面适配方法和装置
CN111984510B (zh) * 2019-05-21 2024-05-17 阿里巴巴集团控股有限公司 调度系统的性能测试方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101276371A (zh) * 2008-04-18 2008-10-01 浙江大学 基于操作流的异步交互式数据挖掘系统及方法
US20120324069A1 (en) * 2011-06-17 2012-12-20 Microsoft Corporation Middleware Services Framework for On-Premises and Cloud Deployment
US20140229821A1 (en) * 2013-02-10 2014-08-14 Wixpress Ltd. Third party application communication api
CN104052746A (zh) * 2014-06-18 2014-09-17 华为技术有限公司 异构应用单点登录系统及其单点登录方法
CN105872019A (zh) * 2016-03-23 2016-08-17 北京搜狐新媒体信息技术有限公司 一种Web端登录Docker容器的方法和装置
CN105959138A (zh) * 2016-04-29 2016-09-21 深圳前海大数点科技有限公司 基于云计算的微服务动态部署的系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101276371A (zh) * 2008-04-18 2008-10-01 浙江大学 基于操作流的异步交互式数据挖掘系统及方法
US20120324069A1 (en) * 2011-06-17 2012-12-20 Microsoft Corporation Middleware Services Framework for On-Premises and Cloud Deployment
US20140229821A1 (en) * 2013-02-10 2014-08-14 Wixpress Ltd. Third party application communication api
CN104052746A (zh) * 2014-06-18 2014-09-17 华为技术有限公司 异构应用单点登录系统及其单点登录方法
CN105872019A (zh) * 2016-03-23 2016-08-17 北京搜狐新媒体信息技术有限公司 一种Web端登录Docker容器的方法和装置
CN105959138A (zh) * 2016-04-29 2016-09-21 深圳前海大数点科技有限公司 基于云计算的微服务动态部署的系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
建赟: ""一种新的进入容器的方式: WebSocket + Docker Remote API"", 《HTTPS://FORUM.HUAWEI.COM/ENTERPRISE/ZH/FORUM.PHP?MOD=VIEWTHREAD&TID=381985》 *
白渐: ""一种新的进入容器的方式: WebSocket + Docker Remote API"", 《HTTP://DOCKONE.IO/ARTICLE/1920》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525624B (zh) * 2017-09-20 2022-01-04 腾讯科技(深圳)有限公司 一种容器登录方法、装置及存储介质
CN109525624A (zh) * 2017-09-20 2019-03-26 腾讯科技(深圳)有限公司 一种容器登录方法、装置及存储介质
US11556366B2 (en) 2017-09-20 2023-01-17 Tencent Technology (Shenzhen) Company Ltd Container login method, apparatus, and storage medium
CN107634951A (zh) * 2017-09-22 2018-01-26 携程旅游网络技术(上海)有限公司 Docker容器安全管理方法、系统、设备及存储介质
CN107480509A (zh) * 2017-09-22 2017-12-15 携程旅游网络技术(上海)有限公司 运维安全审计系统登录容器方法、系统、设备及存储介质
CN109858238A (zh) * 2017-11-30 2019-06-07 北京神州泰岳软件股份有限公司 一种连接容器的方法、装置、系统和计算机可读存储介质
WO2019128007A1 (zh) * 2017-12-29 2019-07-04 平安科技(深圳)有限公司 一种容器登录方法、应用服务器、系统及存储介质
CN111984510B (zh) * 2019-05-21 2024-05-17 阿里巴巴集团控股有限公司 调度系统的性能测试方法及装置
CN111200595A (zh) * 2019-12-20 2020-05-26 北京淇瑀信息科技有限公司 一种访问容器的权限管理方法、装置和电子设备
CN111200595B (zh) * 2019-12-20 2022-04-29 北京淇瑀信息科技有限公司 一种访问容器的权限管理方法、装置和电子设备
CN111367573A (zh) * 2020-03-12 2020-07-03 腾讯科技(深圳)有限公司 设备登陆方法、装置、存储介质和计算机设备
CN111367573B (zh) * 2020-03-12 2021-10-22 腾讯科技(深圳)有限公司 设备登陆方法、装置、存储介质和计算机设备
CN111510444A (zh) * 2020-04-09 2020-08-07 上海云励科技有限公司 容器的远程访问方法、系统、服务端和访问辅助组件
CN112653571A (zh) * 2020-08-20 2021-04-13 国家电网公司华中分部 一种基于虚拟机与容器的混合调度方法
CN112653571B (zh) * 2020-08-20 2024-03-22 国家电网公司华中分部 一种基于虚拟机与容器的混合调度方法
CN114915609A (zh) * 2021-01-29 2022-08-16 中国电信股份有限公司 容器多网络平面适配方法和装置

Similar Documents

Publication Publication Date Title
CN106685949A (zh) 一种容器访问方法、装置以及系统
CN110830463B (zh) 第三方授权登录方法和装置
CN103475726B (zh) 一种虚拟桌面管理方法、服务器和客户端
CN104506510B (zh) 用于设备认证的方法、装置及认证服务系统
CN108881308B (zh) 一种用户终端及其认证方法、系统、介质
CN105871838B (zh) 一种第三方账号的登录控制方法及用户中心平台
CN103475577B (zh) 一种获得特征信息的方法、装置及网络设备
CN103581213B (zh) 一种共享Hosts文件的应用方法、设备和系统
US8745088B2 (en) System and method of performing risk analysis using a portal
CN106844489A (zh) 一种文件操作方法、装置以及系统
CN103986776B (zh) 一种路由器及基于路由器的下载方法
WO2021068518A1 (zh) 一种身份认证方法、系统、电子设备及存储介质
US20100180325A1 (en) System and method for providing a normalized security list
CN106302842A (zh) 一种域名解析方法、装置及系统
CN105141605B (zh) 会话方法、网站服务器及浏览器
MX2011003223A (es) Acceso al proveedor de servicio.
US9398075B2 (en) Communication system, communication apparatus, communication method, and storage medium
US9059987B1 (en) Methods and systems of using single sign-on for identification for a web server not integrated with an enterprise network
CN109861968A (zh) 资源访问控制方法、装置、计算机设备及存储介质
CN102347964B (zh) 登陆网站的方法、系统、信息聚集平台及网站
CN103139137A (zh) 网络服务提供方法及装置
CN101764808A (zh) 自动登录的认证处理方法、服务器和系统
CN103561063B (zh) 一种登录机顶盒的方法及终端
US8407802B2 (en) Method and system for providing security seals on web pages
CN102984261B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170517

WD01 Invention patent application deemed withdrawn after publication