基于Docker的容器登录方法、装置和系统制造方法及图纸

技术编号:15726995 阅读:365 留言:0更新日期:2017-06-29 23:00
本发明专利技术涉及一种基于Docker的容器登录方法,包括:接收容器进入命令,所述容器进入命令包括登录信息,通过SSH协议的命令打开虚拟终端连接与所述登录信息对应的Docker物理机,通过所述虚拟终端进入与所述登录信息对应的容器,提高了容器登录的安全性。此外,还提供了一种基于Docker的容器登录装置和系统。

【技术实现步骤摘要】
基于Docker的容器登录方法、装置和系统
本专利技术涉及计算机
,特别是涉及一种基于Docker的容器登录方法、装置和系统。
技术介绍
Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。业务程序以Docker的容器方式部署后,容器的IP地址通常是对外不可见的,没有办法直接登录进去。现有的登录方法有的是直接登录Docker物理机,然后再通过命令进入容器。当多个业务混合部署到一个Docker物理机时,各个业务的容器都放在一个Docker物理机上,把物理机登录权限开放,存在很大的安全隐患。有的是采用webshell登录方式,这种方式相当于对外开放一个后门来登录容器,安全性难以保障。
技术实现思路
基于此,有必要针对上述技术问题,提供一种基于Docker的容器登录方法、装置和系统,提高容器登录的安全性。一种基于Docker的容器登录方法,所述方法包括:接收容器进入命令,所述容器进入命令包括登录信息;通过SSH协议的命令打开虚拟终端连接与所述登录信息对应的Docker物理机;通过所述虚拟终端进入与所述登录信息对应的容器。一种基于Docker的容器登录装置,所述装置包括:接收模块,用于接收容器进入命令,所述容器进入命令包括登录信息;虚拟终端连接模块,用于通过SSH协议的命令打开虚拟终端连接与所述登录信息对应的Docker物理机;进入模块,用于通过所述虚拟终端进入与所述登录信息对应的容器。上述基于Docker的容器登录方法和装置,通过接收容器进入命令,容器进入命令包括登录信息,通过SSH协议的命令打开虚拟终端连接与登录信息对应的Docker物理机,通过虚拟终端进入与登录信息对应的容器,通过虚拟终端连接Docker物理机,不用登录Docker物理机,不用将Docker物理机的登录权限开放,提高了登录的安全性。。一种基于Docker的容器登录系统,所述系统包括:入口服务器,用于接收容器进入命令,所述容器进入命令包括登录信息;所述入口服务器还用于通过SSH协议的命令打开虚拟终端连接与登录信息对应的Docker物理机;Docker物理机,用于运行容器;所述入口服务器还用于通过所述虚拟终端进入与所述登录信息对应的容器。上述基于Docker的容器登录系统,入口服务器410和Docker物理机420组成的系统通过入口服务器410接收容器进入命令,容器进入命令包括登录信息,通过SSH协议的命令打开虚拟终端连接与登录信息对应的Docker物理机,通过虚拟终端进入与登录信息对应的容器,通过虚拟终端连接Docker物理机,不用登录Docker物理机,不用将Docker物理机的登录权限开放,提高了登录的安全性。附图说明图1为一个实施例中基于Docker的容器登录方法的应用环境图;图2为一个实施例中图1中入口服务器的内部结构图;图3为一个实施例中基于Docker的容器登录方法的流程图;图4为另一个实施例中基于Docker的容器登录方法的流程图;图5为一个实施例中基于Docker的容器登录系统的结构框图;图6为另一个实施例中基于Docker的容器登录系统的结构框图;图7为一个实施例中基于Docker的容器登录装置的结构框图;图8为另一个实施例中基于Docker的容器登录装置的结构框图;图9为再一个实施例中基于Docker的容器登录装置的结构框图。具体实施方式图1为一个实施例中基于Docker的容器登录方法运行的应用环境图。如图1所示,该应用环境包括入口服务器110和Docker物理机120,其中入口服务器110和Docker物理机120通过网络进行通信。入口服务器110一般是登录服务器的起点机器,可为跳板机,Docker物理机120上可运行多个容器,每个容器对应不同的业务。入口服务器110根据接收的命令与Docker物理机120建立连接并通过虚拟终端进入Docker物理机上对应的容器。在一个实施例中,图1中的入口服务器110的内部结构如图2所示,该入口服务器110包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该入口服务器110的存储介质存储有操作系统、数据库和基于Docker的容器登录装置,数据库用于存储数据,基于Docker的容器登录装置用于实现一种适用于入口服务器110的基于Docker的容器登录方法。该入口服务器110的处理器用于提供计算和控制能力,支撑整个入口服务器110的运行。该入口服务器110的内存为存储介质中的基于Docker的容器登录装置的运行提供环境。该入口服务器110的网络接口用于与Docker物理机120通过网络连接通信,比如进入Docker物理机120的容器等。如图3所示,在一个实施例中,提供了一种基于Docker的容器登录方法,以应用于上述应用环境中的入口服务器110来举例说明,包括如下步骤:步骤S210,接收容器进入命令,容器进入命令包括登录信息。具体的,提供一个容器进入命令工具接收容器进入命令,容器进入命令工具安装于入口服务器110中,可直接通过入口服务器110接收容器进入命令,也可以通过终端先连接并通过SSH命令登录入口服务器110,然后再接收容器进入命令。SSH(SecureShell,安全外壳协议)为建立在应用层和传输层基础上的安全协议,通过SSH命令登录入口服务器110并且由于容器进入命令工具安装于入口服务器110中,只有登录了入口服务器110才能输入容器进入命令,提高了容器进入命令的接收的安全性。登录信息可根据需要自定义,如登录信息为容器名称,通过容器名称确定需要登录的容器。如接收的容器进入命令为“go容器名”。步骤S220,通过SSH协议的命令打开虚拟终端连接与登录信息对应的Docker物理机。具体的,通过SSH协议的-t命令打开一个虚拟终端连接与登录信息对应的Docker物理机。通过容器名称可获取与登录信息对应的Docker物理机,如通过容器名称确定容器的IP,然后通过IP得到对应的Docker物理机。通过虚拟终端连接Docker物理机,不用登录Docker物理机,在有多个业务部署在Docker物理机时,不用将Docker物理机的登录权限开放,提高了登录的安全性。当接收到容器进入命令后会自动执行SSH协议的命令打开虚拟终端与Docker物理机连接,不需要手动输入任何信息,提高了登录的方便性。并且这种通过虚拟终端与Docker物理机连接从而通过后续步骤登录容的方法,是强制性不能更改的,保证了登录的安全性。步骤S230,通过虚拟终端进入与登录信息对应的容器。具体的,执行docker的exec命令通过虚拟终端进入容器内部,步骤S220和步骤S230执行的命令为“ssh-t192.168.0.1"dockerexec-timy_containerbash",其中192.168.0.1为容器的IP地址,my_container为接收的容器名。整个登录过程用户不会停留在Docker物理机上,而是通过一个虚拟终端,然后直接执行Docker命令进入容器了,由于用户没有在Docker物理机上停留过,即使多个业务部署在Docker物理机上,由于登录用户不能操作Docker物理机,各个业务本文档来自技高网...
基于Docker的容器登录方法、装置和系统

【技术保护点】
一种基于Docker的容器登录方法,所述方法包括:接收容器进入命令,所述容器进入命令包括登录信息;通过SSH协议的命令打开虚拟终端连接与所述登录信息对应的Docker物理机;通过所述虚拟终端进入与所述登录信息对应的容器。

【技术特征摘要】
1.一种基于Docker的容器登录方法,所述方法包括:接收容器进入命令,所述容器进入命令包括登录信息;通过SSH协议的命令打开虚拟终端连接与所述登录信息对应的Docker物理机;通过所述虚拟终端进入与所述登录信息对应的容器。2.根据权利要求1所述的方法,其特征在于,所述登录信息包括容器名,在所述接收容器进入命令的步骤之后,还包括:获取当前登录的用户,发送鉴权请求至鉴权服务器,所述鉴权请求包括所述容器名和所述用户的信息,以使所述鉴权服务器根据所述鉴权请求判断登录权限;接收所述鉴权服务器返回的鉴权结果,如果所述鉴权结果为有登录权限,则进入通过SSH协议的命令打开虚拟终端连接与所述登录信息对应的Docker物理机的步骤,否则无法登录。3.根据权利要求1所述的方法,其特征在于,所述通过所述虚拟终端进入与所述登录信息对应的容器的步骤之后,还包括:当在所述容器执行退出指令时,退出所述容器并直接返回至本机。4.一种基于Docker的容器登录系统,其特征在于,所述系统包括:入口服务器,用于接收容器进入命令,所述容器进入命令包括登录信息;所述入口服务器还用于通过SSH协议的命令打开虚拟终端连接与登录信息对应的Docker物理机;Docker物理机,用于运行容器;所述入口服务器还用于通过所述虚拟终端进入与所述登录信息对应的容器。5.根据权利要求4所述的系统,其特征在于,所述登录信息包括容器名,所述系统还包括鉴权服务器:所述入口服务器还用于获取...

【专利技术属性】
技术研发人员:梅平杨帝海伍宏先赵亮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1