容器间的通信方法、装置及系统制造方法及图纸

技术编号:13954619 阅读:47 留言:0更新日期:2016-11-02 11:01
本发明专利技术实施例提供一种容器间的通信方法、装置及系统。该方法包括:第一虚拟网桥向协调网元发送地址请求报文;第一虚拟网桥接收协调网元发送的目标容器的公网地址;第一虚拟网桥根据目标容器的公网地址向第二虚拟网桥发送源容器的报文。本发明专利技术实施例通过不同的Docker服务器创建虚拟网桥,虚拟网桥为其所在的Docker服务器上的容器分配私网地址,分散在不同Docker服务器上同一个用户的容器通过虚拟网桥从协调网元获取通信对方容器所在Docker服务器的IP地址和端口号,依据对方容器所在Docker服务器的IP地址和端口号与对方容器通信,实现了在三层网络中分散在不同Docker服务器上同一个用户的容器之间的通信。

【技术实现步骤摘要】

本专利技术实施例涉及通信
,尤其涉及一种容器间的通信方法、装置及系统
技术介绍
Docker是一个开源的应用容器引擎,在物理主机上安装Docker后,可在Docker的基础上承载多个容器,多个容器之间相互隔离,多个容器共享物理主机的操作系统,各容器可放置并执行不同的应用程序。现有技术中,分散在三层网络中不同Docker服务器上且属于同一用户的容器之间无法正常通信。
技术实现思路
本专利技术实施例提供一种容器间的通信方法、装置及系统,以实现分散在三层网络中不同Docker服务器上且属于同一用户的容器之间的正常通信。本专利技术实施例的一个方面是提供一种容器间的通信方法,包括:第一虚拟网桥向协调网元发送地址请求报文,所述地址请求报文包括目标容器的私网地址,以使所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;所述第一虚拟网桥接收所述协调网元发送的所述目标容器的公网地址;所述第一虚拟网桥根据所述目标容器的公网地址向第二虚拟网桥发送源容器的报文,以使所述第二虚拟网桥将所述报文发送给所述目标容器;其中,所述第一虚拟网桥和所述源容器位于第一Docker服务器,所述第二虚拟网桥和所述目标容器位于第二Docker服务器。本专利技术实施例的另一个方面是提供一种容器间的通信方法,包括:协调网元接收第一虚拟网桥发送的地址请求报文,所述地址请求报文包括目标容器的私网地址;所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;所述协调网元向所述第一虚拟网桥发送所述目标容器的公网地址,以使所述第一虚拟网桥根据所述目标容器的公网地址向第二虚拟网桥发送源容器的报文,以使所述第二虚拟网桥将所述报文发送给所述目标容器;其中,所述第一虚拟网桥和所述源容器位于第一Docker服务器,所述第二虚拟网桥和所述目标容器位于第二Docker服务器。本专利技术实施例的另一个方面是提供一种虚拟网桥,包括:发送模块,用于向协调网元发送地址请求报文,所述地址请求报文包括目标容器的私网地址,以使所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;接收模块,用于接收所述协调网元发送的所述目标容器的公网地址;所述发送模块还用于根据所述目标容器的公网地址向其他虚拟网桥发送源容器的报文,以使所述其他虚拟网桥将所述报文发送给所述目标容器;其中,所述虚拟网桥和所述源容器位于第一Docker服务器,所述其他虚拟网桥和所述目标容器位于第二Docker服务器。本专利技术实施例的另一个方面是提供一种协调网元,包括:接收模块,用于接收第一虚拟网桥发送的地址请求报文,所述地址请求报文包括目标容器的私网地址;获取模块,用于依据所述目标容器的私网地址获取所述目标容器的公网地址;发送模块,用于向所述第一虚拟网桥发送所述目标容器的公网地址,以使所述第一虚拟网桥根据所述目标容器的公网地址向第二虚拟网桥发送源容器的报文,以使所述第二虚拟网桥将所述报文发送给所述目标容器;其中,所述第一虚拟网桥和所述源容器位于第一Docker服务器,所述第二虚拟网桥和所述目标容器位于第二Docker服务器。本专利技术实施例的另一个方面是提供一种容器间的通信系统,包括所述的虚拟网桥和所述的协调网元。本专利技术实施例提供的容器间的通信方法、装置及系统,通过在不同的Docker服务器创建虚拟网桥,虚拟网桥为其所在的Docker服务器上的容器分配私网地址,分散在不同Docker服务器上同一个用户的容器通过虚拟网桥从协调网元获取通信对方容器所在Docker服务器的IP地址和端口号,依据对方容器所在Docker服务器的IP地址和端口号与对方容器通信,实现了在三层网络中分散在不同Docker服务器上同一个用户的容器之间的通信。附图说明图1为现有技术中Docker服务器与子网的连接示意图;图2为现有技术中Docker服务器与子网的连接示意图;图3为本专利技术实施例提供的容器间的通信方法流程图;图4为本专利技术实施例提供的容器间的通信方法适用的网络架构图;图5为本专利技术另一实施例提供的容器间的通信方法流程图;图6为本专利技术另一实施例提供的容器间的通信方法流程图;图7为本专利技术另一实施例提供的容器间的通信方法流程图;图8为本专利技术实施例提供的虚拟网桥的结构图;图9为本专利技术另一实施例提供的虚拟网桥的结构图;图10为本专利技术实施例提供的协调网元的结构图;图11为本专利技术另一实施例提供的协调网元的结构图;图12为本专利技术实施例提供的容器间的通信系统的结构图。具体实施方式图1为现有技术中Docker服务器与子网的连接示意图。如图1所示,Docker服务器21属于子网20,Docker服务器21包括容器31和容器32,容器31内设有虚拟网卡41,容器32内设有虚拟网卡42,虚拟网卡41和虚拟网卡42分别与网桥43连接,网桥43与Docker服务器21的物理网卡44连接。网桥43分别为容器31和容器32分配互不相同的私网地址,当容器31或容器32访问子网20之外的设备时,容器31或容器32向网桥43发送报文,报文包括私网地址,网桥43将私网地址转换为Docker服务器21的公网地址将报文发送出去。另外,容器31和容器32分别对应Docker服务器21的不同端口,子网20之外的设备根据Docker服务器21的公网地址和容器的端口号可向Docker服务器21上该端口号对应的容器发送报文。图2为现有技术中Docker服务器与子网的连接示意图。如图2所示,在图1的基础上,Docker服务器21和Docker服务器51同属于三层网络30,Docker服务器51包括容器61和容器62,容器61内设有虚拟网卡71,容器62内设有虚拟网卡72,虚拟网卡71和虚拟网卡72分别与网桥73连接,网桥73与Docker服务器51的物理网卡74连接。假设容器31和容器61属于用户A,容器32和容器62属于用户B,即同一用户的容器分散在不同的Docker服务器上。图3为本专利技术实施例提供的容器间的通信方法流程图;图4为本专利技术实施例提供的容器间的通信方法适用的网络架构图。本专利技术实施例针对现有技术中,分散在三层网络中不同Docker服务器上且属于同一用户的容器之间无法正常通信,提供了容器间的通信方法,该方法具体步骤如下:步骤S101、第一虚拟网桥向协调网元发送地址请求报文,所述地址请求报文包括目标容器的私网地址,以使所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;本专利技术实施例提供了分散在不同的Docker服务器上的属于同一用户的容器之间的通信方法,即如图2所示的容器31和容器61之间、容器32和容器62之间的通信方法,本专利技术实施例以容器31和容器61之间的通信方法为例进行介绍。如图4所示,在Docker服务器21上创建代理模块83,通过代理模块83创建第一虚拟网桥81,代理模块83与第一虚拟网桥81连接,代理模块83用于通过三层网络30和协调网元10通信,第一虚拟网桥81与容器31通信。在Docker服务器51上创建代理模块84,通过代理模块84创建第二虚拟网桥82,代理模块84和第二虚拟网桥82连接,代理模块84通过三层网络30和协调网元10通信,第二虚拟网桥82与容器61通信。协调网元10还连接有管理网元11,第一虚拟网桥81通过代理模块83向协调网本文档来自技高网...

【技术保护点】
一种容器间的通信方法,其特征在于,包括:第一虚拟网桥向协调网元发送地址请求报文,所述地址请求报文包括目标容器的私网地址,以使所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;所述第一虚拟网桥接收所述协调网元发送的所述目标容器的公网地址;所述第一虚拟网桥根据所述目标容器的公网地址向第二虚拟网桥发送源容器的报文,以使所述第二虚拟网桥将所述报文发送给所述目标容器;其中,所述第一虚拟网桥和所述源容器位于第一Docker服务器,所述第二虚拟网桥和所述目标容器位于第二Docker服务器。

【技术特征摘要】
1.一种容器间的通信方法,其特征在于,包括:第一虚拟网桥向协调网元发送地址请求报文,所述地址请求报文包括目标容器的私网地址,以使所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;所述第一虚拟网桥接收所述协调网元发送的所述目标容器的公网地址;所述第一虚拟网桥根据所述目标容器的公网地址向第二虚拟网桥发送源容器的报文,以使所述第二虚拟网桥将所述报文发送给所述目标容器;其中,所述第一虚拟网桥和所述源容器位于第一Docker服务器,所述第二虚拟网桥和所述目标容器位于第二Docker服务器。2.根据权利要求1所述的方法,其特征在于,所述地址请求报文还包括所述源容器的私网地址。3.根据权利要求2所述的方法,其特征在于,所述第一虚拟网桥向协调网元发送地址请求报文之前,还包括:第一虚拟网桥给所述源容器分配私网地址;所述第一虚拟网桥向所述协调网元发送所述源容器的私网地址和所述源容器的公网地址,所述源容器的公网地址包括公网IP地址和端口号,所述公网IP地址是所述第一Docker服务器的IP地址。4.一种容器间的通信方法,其特征在于,包括:协调网元接收第一虚拟网桥发送的地址请求报文,所述地址请求报文包括目标容器的私网地址;所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址;所述协调网元向所述第一虚拟网桥发送所述目标容器的公网地址,以使所述第一虚拟网桥根据所述目标容器的公网地址向第二虚拟网桥发送源容器的报文,以使所述第二虚拟网桥将所述报文发送给所述目标容器;其中,所述第一虚拟网桥和所述源容器位于第一Docker服务器,所述第二虚拟网桥和所述目标容器位于第二Docker服务器。5.根据权利要求4所述的方法,其特征在于,所述协调网元依据所述目标容器的私网地址获取所述目标容器的公网地址,包括:所述协调网元依据所述目标容器的私网地址查询数据库列表,所述数据库列表包括预设容器的私网地址和所述预设容器的公网地址;若所述数据库列表包括与所述目标容器的私网地址匹配的预设容器的私网地址,则所述协调网元确定所述目标容器的公网地址是所述预设容器的公网地址。6.根据权利要求5所述的方法,其特征在于,所述协调网元接收第一虚拟网桥发送的地址请求报文之前,还包括:所述协调网元接收所述第一虚拟网桥发送的所述源容器的私网地址和所述源容器的公网地址,所述源容器的私网地址是所述第一虚拟网桥给所述源容器分配的私网地址;所述源容器的公网地址包括公网IP地址和端口号,所述公网IP地址是所述第一Docker服务器的IP地址;所述协调网元将所述源容器的私网地址和所述源容器的公网地址存储在数据库列表。7.一种...

【专利技术属性】
技术研发人员:田新雪马书惠
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京;11

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

1