CN111726399A - Docker容器安全访问方法及装置 - Google Patents

Docker容器安全访问方法及装置 Download PDF

Info

Publication number
CN111726399A
CN111726399A CN202010514544.5A CN202010514544A CN111726399A CN 111726399 A CN111726399 A CN 111726399A CN 202010514544 A CN202010514544 A CN 202010514544A CN 111726399 A CN111726399 A CN 111726399A
Authority
CN
China
Prior art keywords
container
docker container
access link
access
docker
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
Application number
CN202010514544.5A
Other languages
English (en)
Other versions
CN111726399B (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010514544.5A priority Critical patent/CN111726399B/zh
Publication of CN111726399A publication Critical patent/CN111726399A/zh
Application granted granted Critical
Publication of CN111726399B publication Critical patent/CN111726399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/45587Isolation or security of virtual machine instances
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种Docker容器安全访问方法及装置,方法包括:接收用户终端经由目标代理访问链接发送的针对目标Docker容器的访问请求,目标代理访问链接为用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;基于各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定目标代理访问链接对应的目标容器实际访问链接;根据包含在访问请求中的容器操作信息对经由目标容器实际访问链接查找到的目标Docker容器进行对应处理。本申请能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效提高Docker容器访问的安全性。

Description

Docker容器安全访问方法及装置
技术领域
本申请涉及数据处理技术领域,具体涉及Docker容器安全访问方法及装置。
背景技术
容器技术即有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。是当下服务虚拟化部署的主流技术,其中Docker作为一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或者Windows机器上,也可以实现虚拟化。
由于Docker容器的应用方便灵活、易部署、资源隔离和可扩展性高的优点,非常契合人工智能模型上线的快速部署需求。由于每个宿主机节点的确定端口只有一个,如果容器内外端口映射相同则会导致每个节点只能启动一个容器,那么集群资源将无法得到充分利用,因此容器内外端口动态映射确保即使容器内部端口相同但是对外映射端口也将是唯一且不冲突的。
然而,内外端口动态映射也会带来一个新的问题,就是容器内外端口动态映射将导致容器服务的IP地址(实际访问链接)和端口不确定,给服务访问带来较大的困难,而且容器IP地址暴露以及全部集群节点火墙开通也会降低容器访问的安全性。
发明内容
针对现有技术中的问题,本申请提供一种Docker容器安全访问方法及装置,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效提高Docker容器访问的安全性。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种Docker容器安全访问方法,包括:
接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;
基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接;
根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
进一步地,在所述接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求之前,还包括:
对当前获取的Docker容器实例的环境信息进行解析,得到该环境信息中的当前Docker容器的唯一标识以及对应的容器实际访问链接;
基于当前Docker容器的唯一标识以及对应的容器实际访问链接生成当前Docker容器的代理访问链接;
在预存储的配置文件中查找是否包含与当前Docker容器的代理访问链接相同的原代理访问链接,若是,则在所述配置文件中将该原代理访问链接对应的原容器实际访问链接修改为当前Docker容器的容器实际访问链接;
其中,所述配置文件用于存储各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系。
进一步地,还包括:
若预存储的配置文件中未包含与当前Docker容器的代理访问链接相同的原代理访问链接,则将当前Docker容器的代理访问链接与对应的容器实际访问链接添加至所述配置文件。
进一步地,在所述对当前获取的Docker容器实例的环境信息进行解析之前,还包括:
获取Docker容器实例的环境信息;
基于所述Docker容器实例的环境信息启动所述Docker容器实例的容器服务。
进一步地,在所述获取Docker容器实例的环境参数之前,还包括:
接收启动容器服务请求,其中,所述启动容器服务请求中包含有Docker容器的创建参数;
根据所述Docker容器的创建参数创建该Docker容器的容器实例,其中,所述容器实例中包含有该Docker容器实例的环境信息,且该环境信息中包含有所述Docker容器的唯一标识以及对应的容器实际访问链接。
进一步地,在所述接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求之前,还包括:
接收用户终端发送的针对所述目标Docker容器的容器实际访问链接查询请求,且该容器实际访问链接查询请求中包含有目标Docker容器的唯一标识;
根据所述目标Docker容器的唯一标识自预存储的所述Docker容器的唯一标识与代理访问链接之间的唯一对应关系,获取该目标Docker容器的目标代理访问链接;
将所述目标Docker容器的目标代理访问链接发送至所述用户终端。
第二方面,本申请提供一种Docker容器安全访问装置,包括:
代理服务器模块,用于接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;
所述代理服务器模块,还用于基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接;
容器服务模块,用于根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
进一步地,还包括:
web调度服务模块,用于对当前获取的Docker容器实例的环境信息进行解析,得到该环境信息中的当前Docker容器的唯一标识以及对应的容器实际访问链接;
调度脚本模块,用于执行下述内容:
基于当前Docker容器的唯一标识以及对应的容器实际访问链接生成当前Docker容器的代理访问链接;
在预存储的配置文件中查找是否包含与当前Docker容器的代理访问链接相同的原代理访问链接,若是,则在所述配置文件中将该原代理访问链接对应的原容器实际访问链接修改为当前Docker容器的容器实际访问链接;
其中,所述配置文件用于存储各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系。
进一步地,所述调度脚本模块还用于执行下述内容:
若预存储的配置文件中未包含与当前Docker容器的代理访问链接相同的原代理访问链接,则将当前Docker容器的代理访问链接与对应的容器实际访问链接添加至所述配置文件。
进一步地,所述容器服务模块用于执行下述内容:
获取Docker容器实例的环境信息;
基于所述Docker容器实例的环境信息启动所述Docker容器实例的容器服务。
进一步地,还包括:容器网关接口模块,用于执行下述内容:
接收启动容器服务请求,其中,所述启动容器服务请求中包含有Docker容器的创建参数;
根据所述Docker容器的创建参数创建该Docker容器的容器实例,其中,所述容器实例中包含有该Docker容器实例的环境信息,且该环境信息中包含有所述Docker容器的唯一标识以及对应的容器实际访问链接。
进一步地,还包括:访问链接记录模块,用于执行下述内容:
接收用户终端发送的针对所述目标Docker容器的容器实际访问链接查询请求,且该容器实际访问链接查询请求中包含有目标Docker容器的唯一标识;
根据所述目标Docker容器的唯一标识自预存储的所述Docker容器的唯一标识与代理访问链接之间的唯一对应关系,获取该目标Docker容器的目标代理访问链接;
将所述目标Docker容器的目标代理访问链接发送至所述用户终端。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的Docker容器安全访问方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的Docker容器安全访问方法。
由上述技术方案可知,本申请提供的一种Docker容器安全访问方法及装置,方法包括:接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接;根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理,使得用户终端通过直接获取唯一的代理链接进行对应唯一真实访问链接的目标Docker容器的访问,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效避免Docker容器的真实访问地址及端口的暴露,进而能够有效提高Docker容器访问的效率及安全性,并有效提高用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的Docker容器安全访问方法的流程示意图。
图2是本申请实施例中的包含有步骤011至步骤014的Docker容器安全访问方法的流程示意图。
图3是本申请实施例中的包含有步骤015的Docker容器安全访问方法的流程示意图。
图4是本申请实施例中的包含有步骤021和步骤022的Docker容器安全访问方法的流程示意图。
图5是本申请实施例中的包含有步骤031和步骤032的Docker容器安全访问方法的流程示意图。
图6是本申请实施例中的包含有步骤001至步骤003的Docker容器安全访问方法的流程示意图。
图7是本申请实施例中的Docker容器安全访问装置的第一种结构示意图。
图8是本申请实施例中的Docker容器安全访问装置的第二种结构示意图。
图9是本申请实施例中的Docker容器安全访问装置的第三种结构示意图。
图10是本申请实施例中的Docker容器安全访问装置的第四种结构示意图。
图11是本申请实施例中的Docker容器安全访问装置的结构示意图。
图12是本申请实施例中的Docker容器安全访问装置的执行流程示意图。
图13是本申请应用实例中的容器服务、代理服务器和用户终端的交互示意图。
图14是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决Docker容器内外端口动态映射产生的容器服务的IP地址和端口不确定而导致的用户访问容器难,和容器IP地址暴露以及全部集群节点火墙开通而导致的容器访问安全性低的问题,本申请提供实施例一种Docker容器安全访问方法、Docker容器安全访问装置、电子设备和计算机可读存储介质,通过接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接;步骤300:根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理,使得用户终端通过直接获取唯一的代理链接进行对应唯一真实访问链接的目标Docker容器的访问,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效避免Docker容器的真实访问地址及端口的暴露,进而能够有效提高Docker容器访问的效率及安全性,并有效提高用户体验。
具体通过下述多个实施例分别进行说明。
为了降低用户访问内外端口动态映射的Docker容器的难度,并能够有效提高Docker容器访问的安全性,本申请实施例提供一种Docker容器安全访问方法,参见图1,所述Docker容器安全访问方法具体包含有如下内容:
步骤100:接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的。
可以理解的是,所述步骤100可以由一代理服务器模块实现,用户终端通过一查询访问链接记录模块的代理访问链接地址进行操作,将请求发送给该代理服务器模块,代理服务器模块接收来自于用户终端的操作请求并传递给一容器服务模块。
步骤200:基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接。
步骤300:根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
可以理解的是,所述步骤200和步骤300可以由一所述容器服务模块实现,容器服务模块正常运行,接收来自代理服务器模块5的请求,该请求为用户正常访问链接的http请求例如跳转链接等。若没有所述步骤100至步骤300的执行过程,用户则需要直接访问容器服务的真实链接,但是这将集群的真实IP和端口全部暴露出来,而在本申请实施例中,通过代理服务器模块管理的代理服务器节点,用户访问代理服务链接后该http请求会经过代理服务器模块传送到容器真实服务链接所在的集群并将处理结果返回,也就是说,用户仅仅访问代理服务链接即可。
从上述描述可知,本申请实施例提供的Docker容器安全访问方法,用户终端通过直接获取唯一的代理链接进行对应唯一真实访问链接的目标Docker容器的访问,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效避免Docker容器的真实访问地址及端口的暴露,进而能够有效提高Docker容器访问的效率及安全性,并有效提高用户体验。
为了实现一种预先设置配置文件以避免访问链接端口冲突的情形,在本申请提供的一种Docker容器安全访问方法的实施例,参见图2,所述Docker容器安全访问方法的步骤100之前还具体包含有如下内容:
步骤011:对当前获取的Docker容器实例的环境信息进行解析,得到该环境信息中的当前Docker容器的唯一标识以及对应的容器实际访问链接。
步骤012:基于当前Docker容器的唯一标识以及对应的容器实际访问链接生成当前Docker容器的代理访问链接。
步骤013:在预存储的配置文件中查找是否包含与当前Docker容器的代理访问链接相同的原代理访问链接,若是,则执行步骤014;
步骤014:在所述配置文件中将该原代理访问链接对应的原容器实际访问链接修改为当前Docker容器的容器实际访问链接;其中,所述配置文件用于存储各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系。
从上述描述可知,本申请实施例提供的Docker容器安全访问方法,通过在访问链接端口冲突时,在所述配置文件中将该原代理访问链接对应的原容器服务真实链接修改为当前Docker容器的容器服务真实链接,能够有效解决访问链接端口冲突的问题,且解决方式简单高效,能够有效提高解决访问链接端口冲突的效率,并能够有效提高配置文件的应用可靠性,进而能够有效提高Docker容器访问的可靠性及成功率。
为了实现一种在访问链接端口不冲突时预先设置配置文件的情形,在本申请提供的一种Docker容器安全访问方法的实施例,参见图3,所述Docker容器安全访问方法的步骤013之后具体包含有如下内容:
步骤015:若预存储的配置文件中未包含与当前Docker容器的代理访问链接相同的原代理访问链接,则将当前Docker容器的代理访问链接与对应的容器实际访问链接添加至所述配置文件。
从上述描述可知,本申请实施例提供的Docker容器安全访问方法,通过在访问链接端口不冲突时,直接将当前Docker容器的代理访问链接与对应的容器服务真实链接添加至所述配置文件,能够有效提高配置文件的设置效率,进而能够有效提高Docker容器访问的效率及成功率。
为了预先启动容器服务,在本申请提供的一种Docker容器安全访问方法的实施例,参见图4,所述Docker容器安全访问方法的步骤011之前还具体包含有如下内容:
步骤021:获取Docker容器实例的环境信息。
步骤022:基于所述Docker容器实例的环境信息启动所述Docker容器实例的容器服务。
从上述描述可知,本申请实施例提供的Docker容器安全访问方法,为后续对容器服务进行访问提供了可靠的应用基础,能够进一步提高Docker容器访问的可靠性。
为了预先创建容器实例,在本申请提供的一种Docker容器安全访问方法的实施例,参见图5,所述Docker容器安全访问方法的步骤021之前还具体包含有如下内容:
步骤031:接收启动容器服务请求,其中,所述启动容器服务请求中包含有Docker容器的创建参数。
步骤032:根据所述Docker容器的创建参数创建该Docker容器的容器实例,其中,所述容器实例中包含有该Docker容器实例的环境信息,且该环境信息中包含有所述Docker容器的唯一标识以及对应的容器实际访问链接。
从上述描述可知,本申请实施例提供的Docker容器安全访问方法,为后续对容器服务进行访问提供了可靠的应用基础,能够进一步提高Docker容器访问的可靠性及效率。
为了提供一种用户终端直接获取唯一的代理链接的具体方式,在本申请提供的一种Docker容器安全访问方法的实施例,参见图6,所述Docker容器安全访问方法的步骤014或步骤015之后,以及在步骤100之前还具体包含有如下内容:
步骤001:接收用户终端发送的针对所述目标Docker容器的容器实际访问链接查询请求,且该容器实际访问链接查询请求中包含有目标Docker容器的唯一标识。
步骤002:根据所述目标Docker容器的唯一标识自预存储的所述Docker容器的唯一标识与代理访问链接之间的唯一对应关系,获取该目标Docker容器的目标代理访问链接。
步骤003:将所述目标Docker容器的目标代理访问链接发送至所述用户终端。
从上述描述可知,本申请实施例提供的Docker容器安全访问方法,能够有效提高用户终端直接获取唯一的代理链接的可靠性及效率,以进一步提高Docker容器访问的可靠性及效率。
从软件层面来说,为了降低用户访问内外端口动态映射的Docker容器的难度,并能够有效提高Docker容器访问的安全性,本申请实施例提供一种用于实现所述Docker容器安全访问方法中全部或部分内容的Docker容器安全访问装置,参见图7,所述Docker容器安全访问装置具体包含有如下内容:
代理服务器模块5,用于接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的。
所述代理服务器模块,还用于基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接。
容器服务模块2,用于根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
从上述描述可知,本申请实施例提供的Docker容器安全访问装置,用户终端通过直接获取唯一的代理链接进行对应唯一真实访问链接的目标Docker容器的访问,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效避免Docker容器的真实访问地址及端口的暴露,进而能够有效提高Docker容器访问的效率及安全性,并有效提高用户体验。
为了实现一种预先设置配置文件以避免访问链接端口冲突的情形,在本申请提供的一种Docker容器安全访问装置的实施例,参见图8,所述Docker容器安全访问装置还具体包含有如下内容:
Web调度服务模块3,用于对当前获取的Docker容器实例的环境信息进行解析,得到该环境信息中的当前Docker容器的唯一标识以及对应的容器实际访问链接。
调度脚本模块4,用于执行下述内容:
基于当前Docker容器的唯一标识以及对应的容器实际访问链接生成当前Docker容器的代理访问链接。在预存储的配置文件中查找是否包含与当前Docker容器的代理访问链接相同的原代理访问链接,若是,则在所述配置文件中将该原代理访问链接对应的原容器实际访问链接修改为当前Docker容器的容器实际访问链接。其中,所述配置文件用于存储各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系。
从上述描述可知,本申请实施例提供的Docker容器安全访问装置,通过在访问链接端口冲突时,在所述配置文件中将该原代理访问链接对应的原容器服务真实链接修改为当前Docker容器的容器服务真实链接,能够有效解决访问链接端口冲突的问题,且解决方式简单高效,能够有效提高解决访问链接端口冲突的效率,并能够有效提高配置文件的应用可靠性,进而能够有效提高Docker容器访问的可靠性及成功率。
为了实现一种在访问链接端口不冲突时预先设置配置文件的情形,在本申请提供的一种Docker容器安全访问装置的实施例,所述Docker容器安全访问装置中的所述调度脚本模块4还用于执行下述内容:
若预存储的配置文件中未包含与当前Docker容器的代理访问链接相同的原代理访问链接,则将当前Docker容器的代理访问链接与对应的容器实际访问链接添加至所述配置文件。
从上述描述可知,本申请实施例提供的Docker容器安全访问装置,通过在访问链接端口不冲突时,直接将当前Docker容器的代理访问链接与对应的容器服务真实链接添加至所述配置文件,能够有效提高配置文件的设置效率,进而能够有效提高Docker容器访问的效率及成功率。
为了预先启动容器服务,在本申请提供的一种Docker容器安全访问装置的实施例,所述Docker容器安全访问装置中的所述容器服务模块2还用于执行下述内容:
获取Docker容器实例的环境信息;
基于所述Docker容器实例的环境信息启动所述Docker容器实例的容器服务。
从上述描述可知,本申请实施例提供的Docker容器安全访问装置,为后续对容器服务进行访问提供了可靠的应用基础,能够进一步提高Docker容器访问的可靠性。
为了预先创建容器实例,在本申请提供的一种Docker容器安全访问装置的实施例,参见图9,所述Docker容器安全访问装置还具体包含有如下内容:
容器网关接口模块1,用于执行下述内容:
接收启动容器服务请求,其中,所述启动容器服务请求中包含有Docker容器的创建参数;根据所述Docker容器的创建参数创建该Docker容器的容器实例,其中,所述容器实例中包含有该Docker容器实例的环境信息,且该环境信息中包含有所述Docker容器的唯一标识以及对应的容器实际访问链接。
从上述描述可知,本申请实施例提供的Docker容器安全访问装置,为后续对容器服务进行访问提供了可靠的应用基础,能够进一步提高Docker容器访问的可靠性及效率。
为了提供一种用户终端直接获取唯一的代理链接的具体方式,在本申请提供的一种Docker容器安全访问装置的实施例,参见图10,所述Docker容器安全访问装置还具体包含有如下内容:
访问链接记录模块6,用于执行下述内容:
接收用户终端发送的针对所述目标Docker容器的容器实际访问链接查询请求,且该容器实际访问链接查询请求中包含有目标Docker容器的唯一标识;根据所述目标Docker容器的唯一标识自预存储的所述Docker容器的唯一标识与代理访问链接之间的唯一对应关系,获取该目标Docker容器的目标代理访问链接,将所述目标Docker容器的目标代理访问链接发送至所述用户终端。
从上述描述可知,本申请实施例提供的Docker容器安全访问装置,能够有效提高用户终端直接获取唯一的代理链接的可靠性及效率,以进一步提高Docker容器访问的可靠性及效率。
为了进一步说明本方案,本申请还提供一种应用所述Docker容器安全访问装置实现所述Docker容器安全访问方法的具体应用实例,该应用实例提供涉及网络安全的技术领域,尤其涉及一种解决docker容器内外端口动态映射问题和安全访问管理的方式。本申请实施例针对上述中存在的问题设计了一套动态调度和隔离机制解决docker容器内外端口动态映射和安全访问管理问题。采用了web服务和代理服务器技术实现了docker容器内外端口动态映射记录和跨域跳转,有效解决上述问题。
参见图11,所述Docker容器安全访问装置包括:容器网关接口模块1、容器服务模块2、Web调度服务模块3、调度脚本模块4、代理服务器模块5、访问链接记录模块6,其中容器网关接口模块1、容器服务模块2、Web调度服务模块3、调度脚本模块4、代理服务器模块5、访问链接记录模块6均通过总线8与日志记录模块7相连,容器网关接口模块1与容器服务模块2相连,容器服务模块2与Web调度服务模块3相连,Web调度服务模块3与调度脚本模块4相连,调度脚本模块4与代理服务器模块5相连,代理服务器模块5与访问链接记录模块6相连。具体说明如下:
(1)容器网关接口模块1,负责接收用户终端通过http格式发送的启动容器服务请求。请求方将启动容器所需的必要参数以json的方式发送到容器网关接口模块1,该模块将根据传入参数控制启动相应容器。
(2)容器服务模块2,负责接收容器网关接口模块1中的参数并启动相应容器服务并获取容器内相关环境信息。具体包括但不限于初始化容器环境、启动相关容器服务、获取容器内相关环境信息例如内外端口映射对应关系和容器IP以及容器ID等,其中,容器服务模块2是可以获知容器网关接口模块1控制启动的容器的。容器网关接口模块1启动容器表示根据用户请求参数创建一个符合需求的容器实例(实例包含操作系统等基础环境内容),而容器服务模块2启动容器服务指的是在容器网关接口模块1控制启动的容器实例中启动容器应用层服务。
可以理解的是,所述相关容器服务指的是容器应用层服务,例如启用jupyternotebook服务进行人工智能模型探索的场景。容器实例创建以后,容器服务模块2会调用应用层服务脚本启动jupyter notebook服务,该场景的全流程步骤主要包括创建NFS映射路径、安装数据建模探索函数库、hadoop集群对接认证、启动服务并根据容器环境参数按照预定规则拼接成可访问链接记录下发送给Web调度服务模块3,该场景下的链接拼接规则为:“http://容器IP:服务对外映射端口/?token=认证信息”。
(3)Web调度服务模块3,负责读取解析容器服务模块2发送的相关环境信息并将必要信息发送给调度脚本。
(4)调度脚本模块4,负责根据Web调度服务模块3传递的相关信息修改代理服务器模块5的配置文件,具体包括但不限于根据参数计算代理端口避免访问链接端口冲突、新增访问链接与容器服务映射配置、修改原有访问链接与容器服务映射配置等。
(5)代理服务器模块5,负责读取调度脚本模块4修改的配置文件实现代理访问链接与容器服务真实链接的跨域访问,其中,代理服务器技术可以使用开源的nginx项目实现跨域代理访问,其余的公开的跨域代理机制也可以。
可以理解的是,在Web调度服务模块3和调度脚本模块4的机制设计,容器服务模块2将拼接好的链接以json参数的形式发送给Web调度服务模块3,Web调度服务模块3将接收到的参数进行字段解析并将对应的值以参数的形式传递给调度脚本模块4。
调度脚本模块4根据端口映射计算公式(根据场景自定义)计算出本次的端口确保代理访问链接端口的唯一性避免端口冲突,读取nginx代理服务器的配置文件的全部信息后先判断该端口是否已经存在,如果已经存在则根据Web调度服务模块3传入的最新的容器服务真实链接将配置文件中代理服务器目标访问值替换为新链接;如果不存在该端口,则按照预定的格式写入配置文件。配置文件修改完毕确定代理访问链接和容器服务真实链接的一一对应关系后,自动重新载入配置文件使之生效,从而实现代理访问链接和容器服务真实链接的跨域访问。代理服务器模块5将会按照和容器服务模块2相同的拼接规则拼接代理访问链接,IP和端口替换为代理服务器的IP与计算后的端口,其余规则保持一致。
(6)访问链接记录模块6,负责根据从代理服务器模块5获取的返回报文解析代理访问链接,并将结果记录在数据库中。
(7)日志记录模块7,负责记录日志,便于查询错误信息或者统计相关访问链接信息等。
(8)总线8,负责容器网关接口模块1、容器服务模块2、Web调度服务模块3、调度脚本模块4、代理服务器模块5、访问链接记录模块6与日志记录模块7进行通讯。
参见图12,Docker容器安全访问装置的执行流程包括如下步骤:
步骤S101:容器网关接口模块1获取启动容器服务请求。
步骤S102:容器服务模块2接收解析容器网关接口模块1的参数并启动容器服务,容器启动成功后获取容器内部相关环境信息例如内外端口映射对应关系和容器IP以及容器ID等并传递给Web调度服务模块3。
步骤S103:Web调度服务模块3接收容器服务模块2发送的容器环境信息并在解析后以访问链接与容器服务映射配置的参数形式传递给调度脚本模块4,其中,用户通过请求启动容器实例时会自动生成一个关联ID(这是容器网关接口模块1根据请求时间戳在创建容器实例时生成的),该ID也同时会作为容器内部相关环境信息的一部分被获取并和容器服务真实链接组成一个json格式参数包发送给Web调度服务模块3,Web调度服务模块3在解析参数包以后继续按照这种对应关系传递给调度脚本模块4,所以能够根据容器内部相关环境信息确定访问链接与容器服务映射配置。
步骤S104:调度脚本模块4接收到Web调度服务模块3传递的参数后根据参数内容进行修改代理服务器模块5的配置文件,例如根据参数计算代理端口避免访问链接端口冲突、新增访问链接与容器服务映射配置、修改原有访问链接与容器服务映射配置等。
步骤S105:代理服务器模块5执行代理服务进程重启脚本,其中的执行的依据为调度脚本模块4修改完配置文件完毕,配置文件的修改时间发生改变将触发脚本重启生效,使更新后的配置文件立即生效,并将生效后的代理访问链接发送给访问链接记录模块6,代理访问链接生效是代理服务器重启加载新的配置文件以后生效的,是重启代理服务进程以后就立即实现的。
步骤S106:访问链接记录模块6将从代理服务器模块5中获取的生效后的代理访问链接解析后存入数据库中。
步骤S107:判断代理链接能否正常访问。即:自动检测代理访问链接端口。如果代理访问链接端口异常,则执行步骤S101重新触发启动容器服务;如果代理访问链接端口正常,则本装置执行结束,并执行步骤S108:用户正常访问代理链接。
参见图13,安全访问管理的执行过程涉及容器服务、代理服务器和用户终端这三端,具体包括如下步骤:
步骤S201:用户终端通过查询访问链接记录模块6的代理访问链接地址进行操作,将请求发送给代理服务器模块5。
步骤S202:代理服务器模块5接收来自于用户终端的操作请求并传递给容器服务模块2。
步骤S203:容器服务模块2正常运行,接收来自代理服务器模块5的请求,该请求为用户正常访问链接的http请求例如跳转链接等。没有这个装置,用户直接访问容器服务的真实链接但是这将集群的真实IP和端口全部暴露出来,通过代理服务器节点,用户访问代理服务链接后该http请求会经过代理服务器模块5传送到容器真实服务链接所在的集群并将处理结果返回。用户仅仅访问代理服务链接即可。
步骤S204:容器服务模块2将对容器处理后的结果返回给代理服务器模块5,代理服务器模块5将该处理结果发送至用户终端,从而实现代理跨域访问避免用户直接访问容器服务实现安全访问管理,容器服务模块2此时根据用户终端的操作请求以及对应的容器IP对目标容器进行相关操作,用户通过用户终端正常访问链接的http请求,容器服务模块2作为实际容器服务,是处理用户请求例如跳转链接页面等操作的实际处理模块,处理结果借由代理服务器模块5返回到用户终端。
从硬件层面来说,为了有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效提高Docker容器访问的安全性,本申请提供一种用于实现所述Docker容器安全访问方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现电子设备与用户终端以及相关数据库等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的Docker容器安全访问方法的实施例,以及,Docker容器安全访问装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图14为本申请实施例的电子设备9600的系统构成的示意框图。如图14所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图14是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,Docker容器安全访问功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的。
可以理解的是,所述步骤100可以由一代理服务器模块实现,用户终端通过一查询访问链接记录模块的代理访问链接地址进行操作,将请求发送给该代理服务器模块,代理服务器模块接收来自于用户终端的操作请求并传递给一容器服务模块。
步骤200:基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接。
步骤300:根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
可以理解的是,所述步骤200和步骤300可以由一所述容器服务模块实现,容器服务模块正常运行,接收来自代理服务器模块5的请求,该请求为用户正常访问链接的http请求例如跳转链接等。若没有所述步骤100至步骤300的执行过程,用户则需要直接访问容器服务的真实链接,但是这将集群的真实IP和端口全部暴露出来,而在本申请实施例中,通过代理服务器模块管理的代理服务器节点,用户访问代理服务链接后该http请求会经过代理服务器模块传送到容器真实服务链接所在的集群并将处理结果返回,也就是说,用户仅仅访问代理服务链接即可。
从上述描述可知,本申请实施例提供的电子设备,用户终端通过直接获取唯一的代理链接进行对应唯一真实访问链接的目标Docker容器的访问,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效避免Docker容器的真实访问地址及端口的暴露,进而能够有效提高Docker容器访问的效率及安全性,并有效提高用户体验。
在另一个实施方式中,Docker容器安全访问装置可以与中央处理器9100分开配置,例如可以将Docker容器安全访问装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现Docker容器安全访问功能。
如图14所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图14中所示的所有部件;此外,电子设备9600还可以包括图14中没有示出的部件,可以参考现有技术。
如图14所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的Docker容器安全访问方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的Docker容器安全访问方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的。
可以理解的是,所述步骤100可以由一代理服务器模块实现,用户终端通过一查询访问链接记录模块的代理访问链接地址进行操作,将请求发送给该代理服务器模块,代理服务器模块接收来自于用户终端的操作请求并传递给一容器服务模块。
步骤200:基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接。
步骤300:根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
可以理解的是,所述步骤200和步骤300可以由一所述容器服务模块实现,容器服务模块正常运行,接收来自代理服务器模块5的请求,该请求为用户正常访问链接的http请求例如跳转链接等。若没有所述步骤100至步骤300的执行过程,用户则需要直接访问容器服务的真实链接,但是这将集群的真实IP和端口全部暴露出来,而在本申请实施例中,通过代理服务器模块管理的代理服务器节点,用户访问代理服务链接后该http请求会经过代理服务器模块传送到容器真实服务链接所在的集群并将处理结果返回,也就是说,用户仅仅访问代理服务链接即可。
从上述描述可知,本申请实施例提供的计算机可读存储介质,用户终端通过直接获取唯一的代理链接进行对应唯一真实访问链接的目标Docker容器的访问,能够有效降低用户访问内外端口动态映射的Docker容器的难度,并能够有效避免Docker容器的真实访问地址及端口的暴露,进而能够有效提高Docker容器访问的效率及安全性,并有效提高用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种Docker容器安全访问方法,其特征在于,包括:
接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;
基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接;
根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
2.根据权利要求1所述的Docker容器安全访问方法,其特征在于,在所述接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求之前,还包括:
对当前获取的Docker容器实例的环境信息进行解析,得到该环境信息中的当前Docker容器的唯一标识以及对应的容器实际访问链接;
基于当前Docker容器的唯一标识以及对应的容器实际访问链接生成当前Docker容器的代理访问链接;
在预存储的配置文件中查找是否包含与当前Docker容器的代理访问链接相同的原代理访问链接,若是,则在所述配置文件中将该原代理访问链接对应的原容器实际访问链接修改为当前Docker容器的容器实际访问链接;
其中,所述配置文件用于存储各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系。
3.根据权利要求2所述的Docker容器安全访问方法,其特征在于,还包括:
若预存储的配置文件中未包含与当前Docker容器的代理访问链接相同的原代理访问链接,则将当前Docker容器的代理访问链接与对应的容器实际访问链接添加至所述配置文件。
4.根据权利要求2所述的Docker容器安全访问方法,其特征在于,在所述对当前获取的Docker容器实例的环境信息进行解析之前,还包括:
获取Docker容器实例的环境信息;
基于所述Docker容器实例的环境信息启动所述Docker容器实例的容器服务。
5.根据权利要求4所述的Docker容器安全访问方法,其特征在于,在所述获取Docker容器实例的环境参数之前,还包括:
接收启动容器服务请求,其中,所述启动容器服务请求中包含有Docker容器的创建参数;
根据所述Docker容器的创建参数创建该Docker容器的容器实例,其中,所述容器实例中包含有该Docker容器实例的环境信息,且该环境信息中包含有所述Docker容器的唯一标识以及对应的容器实际访问链接。
6.根据权利要求1所述的Docker容器安全访问方法,其特征在于,在所述接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求之前,还包括:
接收用户终端发送的针对所述目标Docker容器的容器实际访问链接查询请求,且该容器实际访问链接查询请求中包含有目标Docker容器的唯一标识;
根据所述目标Docker容器的唯一标识自预存储的所述Docker容器的唯一标识与代理访问链接之间的唯一对应关系,获取该目标Docker容器的目标代理访问链接;
将所述目标Docker容器的目标代理访问链接发送至所述用户终端。
7.一种Docker容器安全访问装置,其特征在于,包括:
代理服务器模块,用于接收用户终端经由目标代理访问链接发送的针对所述目标Docker容器的访问请求,其中,所述目标代理访问链接为所述用户终端预先自内外端口动态映射的各个Docker容器与各个预设的代理访问链接之间的一一对应关系中获取的;
所述代理服务器模块,还用于基于预存储的各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系,确定所述目标代理访问链接对应的目标容器实际访问链接;
容器服务模块,用于根据包含在所述访问请求中的容器操作信息,对经由所述目标容器实际访问链接查找到的目标Docker容器进行对应处理。
8.根据权利要求7所述的Docker容器安全访问装置,其特征在于,还包括:
web调度服务模块,用于对当前获取的Docker容器实例的环境信息进行解析,得到该环境信息中的当前Docker容器的唯一标识以及对应的容器实际访问链接;
调度脚本模块,用于执行下述内容:
基于当前Docker容器的唯一标识以及对应的容器实际访问链接生成当前Docker容器的代理访问链接;
在预存储的配置文件中查找是否包含与当前Docker容器的代理访问链接相同的原代理访问链接,若是,则在所述配置文件中将该原代理访问链接对应的原容器实际访问链接修改为当前Docker容器的容器实际访问链接;
其中,所述配置文件用于存储各个Docker容器的代理访问链接与容器实际访问链接之间的一一对应关系。
9.根据权利要求8所述的Docker容器安全访问装置,其特征在于,所述调度脚本模块还用于执行下述内容:
若预存储的配置文件中未包含与当前Docker容器的代理访问链接相同的原代理访问链接,则将当前Docker容器的代理访问链接与对应的容器实际访问链接添加至所述配置文件。
10.根据权利要求8所述的Docker容器安全访问装置,其特征在于,所述容器服务模块用于执行下述内容:
获取Docker容器实例的环境信息;
基于所述Docker容器实例的环境信息启动所述Docker容器实例的容器服务。
11.根据权利要求10所述的Docker容器安全访问装置,其特征在于,还包括:容器网关接口模块,用于执行下述内容:
接收启动容器服务请求,其中,所述启动容器服务请求中包含有Docker容器的创建参数;
根据所述Docker容器的创建参数创建该Docker容器的容器实例,其中,所述容器实例中包含有该Docker容器实例的环境信息,且该环境信息中包含有所述Docker容器的唯一标识以及对应的容器实际访问链接。
12.根据权利要求7所述的Docker容器安全访问装置,其特征在于,还包括:访问链接记录模块,用于执行下述内容:
接收用户终端发送的针对所述目标Docker容器的容器实际访问链接查询请求,且该容器实际访问链接查询请求中包含有目标Docker容器的唯一标识;
根据所述目标Docker容器的唯一标识自预存储的所述Docker容器的唯一标识与代理访问链接之间的唯一对应关系,获取该目标Docker容器的目标代理访问链接;
将所述目标Docker容器的目标代理访问链接发送至所述用户终端。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的Docker容器安全访问方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的Docker容器安全访问方法。
CN202010514544.5A 2020-06-08 2020-06-08 Docker容器安全访问方法及装置 Active CN111726399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010514544.5A CN111726399B (zh) 2020-06-08 2020-06-08 Docker容器安全访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010514544.5A CN111726399B (zh) 2020-06-08 2020-06-08 Docker容器安全访问方法及装置

Publications (2)

Publication Number Publication Date
CN111726399A true CN111726399A (zh) 2020-09-29
CN111726399B CN111726399B (zh) 2022-10-18

Family

ID=72567243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010514544.5A Active CN111726399B (zh) 2020-06-08 2020-06-08 Docker容器安全访问方法及装置

Country Status (1)

Country Link
CN (1) CN111726399B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256399A (zh) * 2020-10-28 2021-01-22 四川长虹电器股份有限公司 基于Docker的Jupyter Lab多用户远程开发方法及系统
CN112764885A (zh) * 2021-01-28 2021-05-07 北京达佳互联信息技术有限公司 对象的访问方法、装置、电子设备、存储介质和程序产品
CN113037620A (zh) * 2021-01-20 2021-06-25 厦门市智联信通物联网科技有限公司 一种智能边缘计算网关
CN113055498A (zh) * 2021-05-26 2021-06-29 天聚地合(苏州)数据股份有限公司 数据源访问方法、装置、存储介质及设备
CN113489770A (zh) * 2021-06-30 2021-10-08 深圳壹账通智能科技有限公司 容器间的通信方法、电子设备和计算机可读存储介质
CN114070637A (zh) * 2021-11-23 2022-02-18 北京天融信网络安全技术有限公司 基于属性标签的访问控制方法、系统、电子设备及存储介质
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN112866379B (zh) * 2021-01-15 2022-05-31 浪潮云信息技术股份公司 微服务的访问方法和装置
CN114827115A (zh) * 2022-06-01 2022-07-29 青岛中科曙光科技服务有限公司 容器内Web服务的访问方法、装置、电子设备及存储介质
CN114979286A (zh) * 2022-05-11 2022-08-30 咪咕文化科技有限公司 容器服务的访问控制方法、装置、设备及计算机存储介质
CN116074309A (zh) * 2023-03-06 2023-05-05 深圳前海环融联易信息科技服务有限公司 跨平台容器内操作系统的访问方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135242A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 Mongodb集群访问方法、装置及系统
CN107948203A (zh) * 2017-12-29 2018-04-20 平安科技(深圳)有限公司 一种容器登录方法、应用服务器、系统及存储介质
US20180159701A1 (en) * 2016-11-18 2018-06-07 Securboration, Inc. Resilient polymorphic network architectures
CN108737584A (zh) * 2017-04-19 2018-11-02 中国移动通信集团山西有限公司 容器服务的访问方法、网络地址的解析方法、装置和系统
CN109118285A (zh) * 2018-08-15 2019-01-01 福建天泉教育科技有限公司 一种实现广告访问的方法及广告代理服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135242A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 Mongodb集群访问方法、装置及系统
US20180159701A1 (en) * 2016-11-18 2018-06-07 Securboration, Inc. Resilient polymorphic network architectures
CN108737584A (zh) * 2017-04-19 2018-11-02 中国移动通信集团山西有限公司 容器服务的访问方法、网络地址的解析方法、装置和系统
CN107948203A (zh) * 2017-12-29 2018-04-20 平安科技(深圳)有限公司 一种容器登录方法、应用服务器、系统及存储介质
CN109118285A (zh) * 2018-08-15 2019-01-01 福建天泉教育科技有限公司 一种实现广告访问的方法及广告代理服务器

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256399B (zh) * 2020-10-28 2022-08-19 四川长虹电器股份有限公司 基于Docker的Jupyter Lab多用户远程开发方法及系统
CN112256399A (zh) * 2020-10-28 2021-01-22 四川长虹电器股份有限公司 基于Docker的Jupyter Lab多用户远程开发方法及系统
CN112866379B (zh) * 2021-01-15 2022-05-31 浪潮云信息技术股份公司 微服务的访问方法和装置
CN113037620A (zh) * 2021-01-20 2021-06-25 厦门市智联信通物联网科技有限公司 一种智能边缘计算网关
CN113037620B (zh) * 2021-01-20 2023-05-12 厦门市智联信通物联网科技有限公司 一种智能边缘计算网关
CN112764885A (zh) * 2021-01-28 2021-05-07 北京达佳互联信息技术有限公司 对象的访问方法、装置、电子设备、存储介质和程序产品
CN113055498A (zh) * 2021-05-26 2021-06-29 天聚地合(苏州)数据股份有限公司 数据源访问方法、装置、存储介质及设备
CN113489770A (zh) * 2021-06-30 2021-10-08 深圳壹账通智能科技有限公司 容器间的通信方法、电子设备和计算机可读存储介质
CN113489770B (zh) * 2021-06-30 2022-08-19 深圳壹账通智能科技有限公司 容器间的通信方法、电子设备和计算机可读存储介质
CN114070637A (zh) * 2021-11-23 2022-02-18 北京天融信网络安全技术有限公司 基于属性标签的访问控制方法、系统、电子设备及存储介质
CN114070637B (zh) * 2021-11-23 2024-01-23 北京天融信网络安全技术有限公司 基于属性标签的访问控制方法、系统、电子设备及存储介质
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN114979286A (zh) * 2022-05-11 2022-08-30 咪咕文化科技有限公司 容器服务的访问控制方法、装置、设备及计算机存储介质
CN114979286B (zh) * 2022-05-11 2023-09-19 咪咕文化科技有限公司 容器服务的访问控制方法、装置、设备及计算机存储介质
CN114827115A (zh) * 2022-06-01 2022-07-29 青岛中科曙光科技服务有限公司 容器内Web服务的访问方法、装置、电子设备及存储介质
CN116074309B (zh) * 2023-03-06 2023-06-16 深圳前海环融联易信息科技服务有限公司 跨平台容器内操作系统的访问方法及相关设备
CN116074309A (zh) * 2023-03-06 2023-05-05 深圳前海环融联易信息科技服务有限公司 跨平台容器内操作系统的访问方法及相关设备

Also Published As

Publication number Publication date
CN111726399B (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
CN111726399B (zh) Docker容器安全访问方法及装置
US10802906B2 (en) Monitoring method and apparatus of server, and storage medium
CN107203419B (zh) 应用程序中的模块间调用方法、装置及系统
WO2019047709A1 (zh) 资源配置方法及相关产品
JP7412594B2 (ja) データ処理方法、データ処理装置、コンピュータ機器、及びコンピュータプログラム
CN108228444B (zh) 一种测试方法和装置
CN111309279A (zh) 多屏互动显示方法及装置
CN111857733B (zh) 一种业务环境的构建方法、装置、系统以及可读存储介质
CN104903863A (zh) 用于虚拟环境的控制反转组件服务模型
CN111796860A (zh) 微前端方案实现方法及装置
WO2019047708A1 (zh) 资源配置方法及相关产品
CN112764823B (zh) Nvr系统的启动方法、主机操作系统和数据通信方法
CN114489701A (zh) 一种人工智能软件部署环境的配置方法、装置及电子设备
CN113596151A (zh) 插件管理方法、装置、数据处理方法及装置
CN109815202B (zh) 日志编辑方法及相关装置
CN114726905B (zh) 一种Tbox网络接入Android系统的方法、装置、设备及存储介质
CN115686458A (zh) 虚拟世界应用的开发方法及装置
CN112269570B (zh) 安全代码开发方法及设备、计算设备和介质
CN110333914B (zh) 一种用于执行目标操作的方法与设备
CN111459819B (zh) 软件测试方法及装置、电子设备、计算机可读介质
CN110286956B (zh) 插件的运行方法、装置及电子设备
CN114422358A (zh) Api网关配置更新方法及设备
CN113472903B (zh) 一种数据处理方法及装置
CN111901902B (zh) 一种移动基站及对应的业务处理方法和存储介质
CN117555645B (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
GR01 Patent grant
GR01 Patent grant