网络通信方法及客户端的制作方法
【技术领域】
[0001]本发明涉及通信领域,特别是涉及一种网络通信方法及客户端。
【背景技术】
[0002]随着网络技术的发展,人们越来越习惯在同一服务器中同时运行多个业务。例如,在一台内存为64G的服务器上同时运行导航业务、手机助手以及其他主站业务。在一台服务器上同时运行多个业务时,为保证当其中一个业务受到攻击或者出现运行等方面的问题时,其他业务不会受到相关的不良影响,对服务器进行资源隔离。在进行资源隔离时,由于使用VM虚拟机需要占用大量的中央处理器(Central Processing Unit,以下简称CPU)的资源,因此,现有技术中,通常采用由开源应用容器引擎docker管理多个容器container实现的虚拟化方案来进行资源隔离。
[0003]但是,现有技术中,在使用docker与container的方式进行资源隔离时,docker的每个container不能够独立与外界进行通信,而且在对container进行端口分配时,每个端口仅能够让一个container使用,无法实现端口对应的技术或者协议被多个container共用,导致需要多重复杂繁琐的操作才能够进行多种技术或者功能的对接,甚至存在一些技术或者功能,在现有技术中,不论经过多少复杂繁琐的操作也无法实现对接。
【发明内容】
[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网络通信方法和相应的客户端。
[0005]依据本发明的一个方面,提供了一种网络通信方法,应用于包括多个容器container的开源应用容器引擎docker,包括:使用docker指定桥bridge,其中,所述bridge按如下步骤生成:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联所述vlan与网卡,生成所述bridge ;以及利用所述bridge为所述docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过所述vlan独立与外界进行通信,其中,所述container为所述docker启动的container。
[0006]可选地,为所述docker中的每个container分配独立的网络通信标识,包括:利用所述vlan根据所述docker中的container的个数对网络通信标识进行划分;根据所述划分结果为所述docker中的每个container分配独立的网络通信标识。
[0007]可选地,利用添加完成的所述网桥设备启动所述docker的步骤包括:更改所述docker中的配置数据,以阻止所述docker的网络通信标识分配操作,其中,所述配置数据包括网卡配置数据;将指定网络通信标识与所述docker中选定的container绑定,以供所述选定的container利用所述指定网络通信标识独立与外界进行通信。
[0008]可选地,更改所述docker中的配置数据的步骤包括:更改所述docker中的网卡配置数据为关闭false状态。
[0009]可选地,所述方法还包括:利用所述bridge为所述docker中的每个container分配独立的网络通信标识之后,将所述docker中的所有container映射至同一功能端口,以供所述所有container共用所述功能端口对应的资源。
[0010]可选地,所述网络通信标识包括网络互联协议IP地址。
[0011]依据本发明的另一方面,还提供了一种网络通信客户端,应用于包括多个container的docker,包括:指定模块,适于使用docker指定bridge,其中,所述bridge按如下步骤生成:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联所述vlan与网卡,生成所述bridge ;以及分配模块,适于利用所述bridge为所述docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过所述vlan独立与外界进行通信,其中,所述container为所述docker启动的container。
[0012]可选地,在利用所述bridge为所述docker中的每个container分配独立的网络通信标识时,所述分配模块还适于:利用所述vlan根据所述docker中的container的个数对网络通信标识进行划分;以及根据所述划分结果为所述docker中的每个container分配独立的网络通信标识。
[0013]可选地,所述网络通信客户端还包括:数据更改模块,适于更改所述docker中的配置数据,以阻止所述docker的网络通信标识分配操作,其中,所述配置数据包括网卡配置数据;以及绑定模块,适于将指定网络通信标识与所述docker中选定的container绑定,以供所述选定的container利用所述指定网络通信标识独立与外界进行通信。
[0014]可选地,在更改所述docker中的配置数据时,所述数据更改模块还适于:更改所述docker中的网卡配置数据为关闭false状态。
[0015]可选地,所述网络通信客户端还包括:映射模块,适于利用所述bridge为所述docker中的每个container分配独立的网络通信标识之后,将所述docker中的所有container映射至同一功能端口,以供所述所有container共用所述功能端口对应的资源。
[0016]可选地,所述网络通信标识包括网络互联协议IP地址。
[0017]依据本发明实施例,能够使用docker指定bridge,其中,bridge的生成步骤为:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联vlan与网卡,生成bridge。之后,利用指定的bridge为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信,解决了现有技术中docker的每个container无法独立与外界进行通信的问题。其中,本例中的container为docker启动的container。由于利用docker自身创建的bridge为docker管理的所有container分配网络通信标识时,所有的container只能够共用同一个网络通信标识,而利用指定的bridge进行网络通信标识的分配操作时,贝U能够利用bridge中的vlan对网络通信标识进行划分,使得组成docker的每个container能够被分配到独立的网络通信标识,并利用该网络通信标识独立与外界进行通信。因此,本发明实施例中,docker中的每个container能够直接与外界进行通信,避免通过第三方的数据分配等操作与外界进行通信导致的数据包不能够及时分配的问题,降低丢包率,提高container与外界的通信效率。
[0018]另外,由于使用本发明实施例提供的网络通信方法能够使得docker中的每个container具备独立与外界进行通信的能力(通过独立的网络通信标识),因此,则当docker中存在多个container时,可以利用每个container的独立的网络通信标识映射到同一端口,每个container都可以利用该端口与外界通信(包括同时和/或分时使用),互相之间并不影响。即采用本发明实施例能够将所有container绑定到同一个端口,实现任意端口对应的功能或者技术的无缝对接。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0020]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0021]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0022]图1示出了根据本发明一个实施例的网络通信方法的处理流程示意图;
[0023]图2示出了根据本发明一个优选实施例的绑定指定网络通信标识与container的处理流程示意图;
[0024]图3示出了根据本发明一个优选实施例的网络通信方法的处理流程示意图;
[0025]图4示出了根据本发明一个优选实施例的docker中任一 container与bridge连接以独立与外界通信的结构示意图;
[0026]图5示出了根据本发明一个实施例的网络通信客户端的结构示意图;以及
[0027]图6示出了根据本发明一个优选实施例的网络通信客户端的结构示意图。
【具体实施方式】
[0028]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0029]相关技术中提及,在使用开源应用容器引擎(以下简称docker)与容器(以下简称container)的方式进行资源隔离时,若对docker的任一 container进行端口分配时,每个端口仅能够让一个container使用,无法实现端口对应的技术或者协议被多个container共用,导致需要多重复杂繁琐的操作才能够进行多种技术或者功能的对接,甚至存在一些技术或者功能,在现有技术中,不论经过多少复杂繁琐的操作也无法实现对接。
[0030]为解决上述技术问题,本发明实施例提供了一种网络通信方法。图1示出了根据本发明一个实施例的网络通信方法的处理流程示意图。请参考图1,该流程至少包括步骤S102、步骤S104以及步骤S106。
[0031]步骤S102:在虚拟局域网(Virtual Local Area Network,以下简称vlan)设置为中继(trunk)模式时,利用网桥设备关联vlan与网卡,生成网桥(以下简称bridge),并使用docker指定生成的bridge,即更改docker的配置,使得docker能够利用生成的bridge完成需要bridge的操作;
[0032]步骤S104:利用生成的bridge为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信,其中,本例中的container为docker启动的container。
[0033]依据本发明实施例,能够使用docker指定bridge,其中,bridge的生成步骤为:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联vlan与网卡,生成bridge。之后,利用指定的bridge为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信,解决了现有技术中docker管理的每个container无法独立与外界进行通信的问题。其中,本例中的container为docker启动的container。由于利用docker自身创建的bridge为docker管理的所有container分配网络通信标识时,所有的container只能够共用同一个网络通信标识,而利用指定的bridge进行网络通信标识的分配操作时,贝U能够利用bridge中的vlan对网络通信标识进行划分,使得组成docker的每个container能够被分配到独立的网络通信标识,并利用该网络通信标识独立与外界进行通信。因此,本发明实施例中,docker管理的每个container能够直接与外界进行通信,避免通过第三方的数据分配等操作与外界进行通信导致的数据包不能够及时分配的问题,降低丢包率,提高container与外界的通信效率。
[0034]另外,由于使用本发明实施例提供的网络通信方法能够使得docker中的每个container具备独立与外界进行通信的能力(通过独立的网络通信标识),因此,则当docker中存在多个container时,可以利用每个container的独立的网络通信标识映射到同一端口,每个container都可以利用该端口与外界通信(包括同时和/或分时使用),互相之间并不影响。即采用本发明实施例能够将所有container绑定到同一个端口,实现任意端口对应的功能或者技术的无缝对接。
[0035]上文提及,本发明实施例中,为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信。具体地,在为每个container分配独立的网络通信标识时,本发明实施例利用vlan根据docker中的container的个数对网络通信标识进行划分。之后,根据划分结果为docker中的每个container分配独立的网络通信标识。例如,当网络通信标识为网络通信协议(InternetProtocol,以下简称 IP)地址,并且当前 docker 中的 container 为 containerl、container2以及container3时,利用vlan对IP地址进行划分。划分结果为11.0.0.1,11.0.0.2以及11.0.0.3,则为每个container分配独立的IP地址,分配结果可以是:
[0036]Container 1 的 IP 地址为 11.0.0.1 ;
[0037]Container〗的 IP 地址为 11.0.0.2 ;
[0038]Container3 的 IP 地址为 11.0.0.3。
[0039]再例如,当网络通信标识为IP地址,并且IP地址为两个网段,分别是11.0.0和
11.0.1。另夕卜,当前 docker 中的 container 为 container4、container5、container6 以及container?时,利用vlan对IP地址进行划分。划分结果为11.0.0.1,11.0.0.2,11.0.1.1、
11.0.1.2,则为每个container分配独立的IP地址,分配结果可以是:
[0040]Container4 的 IP 地址为 11.0.1.2 ;
[0041]Container5 的 IP 地址为 11.0.1.1 ;
[0042]Container6 的 IP 地址为 11.0.0.2 ;
[0043]Container?的 IP 地址为 11.0.0.1。
[0044]需要说明的是,上例中提及的划分结果以及分配结果仅为示例,并不能够代表实际操作中的划分结果和/或分配结果。
[0045]上文对“为docker中的每个container分配独立的网络通信标识”的过程进行了介绍。在该过程中,本发明实施例利用vlan根据docker中的container的个数对网络通信标识进行划分。划分之后,若仅需要docker中的每个container能够独立与外部进行通信,则如上文介绍的过程,直接根据划分结果为docker中的每个container分配独立的网络通信标识。若需要将指定的网络通信标识与container进行绑定,则需要根据如图2所示的流程图执行相应操作。图2示出了根据本发明一个优选实施例的绑定指定网络通信标识与container的处理流程示意图。请参考图2,该流程至少包括步骤S202以及步骤S204。
[0046]步骤S202:更改docker中的配置数据,以阻止docker的网络通信标识自动分配操作,具体地,若未更改docker中的配置数据,docker在启动container时,能够利用bridge自动为启动的container分配网络通信标识。而本例中,更改docker中的配置数据,阻止docker利用bridge自动为启动的container分配网络通信标识的操作。优选地,本例中,docker中的配置数据包括网卡配置数据。当需要将指定网络通信标识与container进行绑定时,则可以更改docker中的网卡配置数据为关闭状态(以下简称false状态),以阻止docker的网络通信标识自动分配操作;
[0047]步骤S204:将指定网络通信标识与docker中选定的container绑定,以供选定的container利用指定的网络通信标识独立与外界进行通信,流程结束。
[0048]本发明实施例中,通过“使用docker指定bridge,并利用指定的bridge启动该docker”这一方式,为组成docker的container分配或者绑定独立的网络通信标识,使得每个container能够利用其网络通信标识与外界进行通信。另外,本发明实施例中,网络通信标识可以是任意能够被contai
ner利用,以与外界进行通信的通信标识,本发明实施例对此并不加以限定。优选地,本发明实施例中选取实际应用中常用的IP地址作为网络通信标识。
[0049]实施例一
[0050]为将上文各优选实施例提供的网络通信方法阐述得更加清楚明白,现以一个优选实施例对本发明实施例提供的网络通信方法进行介绍。图3示出了根据本发明一个优选实施例的网络通信方法的处理流程图。参见图3,该流程至少包括步骤S302、S304、S306、S308以及S310。
[0051]步骤S302:在vlan设置为trunk模式时,利用网桥设备关联vlan与网卡,生成bridge ;
[0052]步骤S304:使用docker指定步骤S302中生成的bridge ;
[0053]步骤S306:利用vlan根据docker中的container的个数对网络通信标识进行划分;
[0054]步骤S308:根据划分结果为docker中的每个container分配独立的网络通信标识,具体地,在为每个container分配独立的网络通信标识时,若要将指定网络通信标识绑定至选定的container,则可以更改docker中的配置数据(例如更改docker中的网卡配置数据至false状态),以阻止docker的网络通信标识分配操作。之后,将指定网络通信标识与docker中选定的container绑定,以供选定的container利用指定网络通信标识独立与外界进行通信;
[0055]步骤S310:绑定docker中的所有container至同一功能端口,以供所有container共用功能端口对应的资源,流程结束。
[0056]具体地,由于使用本发明实施例提供的网络通信方法能够使得docker中的每个container具备独立与外界进行通信的能力(通过独立的网络通信标识),因此,则当docker中存在多个container时,可以利用每个container的独立的网络通信标识映射到同一端口,每个container都可以利用该端口与外界通信(包括同时和/或分时使用),互相之间并不影响。
[0057]实施例二
[0058]图4示出了根据本发明一个优选实施例的docker中任一 container与bridge连接以独立与外界通信的结构示意图。由图4可知,本发明十四行了中,由于每个container (例如图4所不的containerl、container2以及container3)具备独立的网络通信标识,则任一 container能够被绑定至任一端口。即container与端口的对应关系可以是一对一或者多对一。由于实际运用中,每一功能的端口固定,因此,若要使得任一功能与container进行通讯,则需要将该container与该功能的端口进行绑定。例如,当container需要发布代码时,需要基于安全外壳协议(Secure Shell,以下简称ssh协议)进行发布,因此,需要与该协议对应的22端口进行绑定。此时,若22端口已绑定其他container,则现有技术中无法继续将当前container与22端口进行绑定。而依据本发明实施例的网络通信方法,则能够直接将当前container与22端口进行绑定,实现该container的发布代码操作。综上,依据本发明实施例的网络通信方法,由于每个container能够拥有独立的网络通信标识,因此能够在无需任意修改的情况下,实现各个端口对应的功能的无缝接入。
[0059]基于上文各优选实施例提供的网络通信方法,基于同一发明构思,本发明实施例提供了一种网络通信客户端,应用于包括多个container的docker,用于实现网络通信方法。图5示出了根据本发明一个实施例的网络通信客户端的结构示意图。参见图5,本发明实施例的网络通信客户端至少包括指定模块510以及分配模块520。
[0060]现介绍本发明实施例的网络通信客户端的各器件或组成的功能以及各部分间的连接关系:
[0061]指定模块510:适于使用docker指定bridge,其中,bridge按如下步骤生成:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联vlan与网卡,生成bridge ;
[0062]分配模块520:与指定模块510相稱合,适于利用bridge为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信,其中,container为docker启动的container。
[0063]在一个优选的实施例中,分配模块520还适于:利用vlan根据docker中的container的个数对网络通信标识进行划分;根据划分结果为docker中的每个container分配独立的网络通信标识。
[0064]图6示出了根据本发明一个优选实施例的网络通信客户端的结构示意图。请一并参考图5和图6,相比图5中的网络通信客户端,本发明实施例的网络通信客户端(图6所示)还包括:
[0065]数据更改模块530:与分配模块530相耦合,适于更改docker中的配置数据,以阻止docker的网络通信标识分配操作,其中,配置数据包括网卡配置数据;
[0066]绑定模块540:与数据更改模块530相稱合,适于将指定网络通信标识与docker中选定的container绑定,以供选定的container利用指定网络通信标识独立与外界进行通信。
[0067]在一个优选的实施例中,数据更改模块530还适于:更改docker中的网卡配置数据为false状态。
[0068]在一个优选的实施例中,本发明实施例的网络通信客户端(图6所示)还包括:
[0069]映射模块550:与分配模块520以及绑定模块540分别稱合,适于利用bridge为docker中的每个container分配独立的网络通信标识之后,将docker中的所有container映射至同一功能端口,以供所有container共用功能端口对应的资源。
[0070]在一个优选的实施例中,网络通信标识包括网络互联协议IP地址。
[0071]根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
[0072]依据本发明实施例,能够使用docker指定bridge,其中,bridge的生成步骤为:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联vlan与网卡,生成bridge。之后,利用指定的bridge为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信,解决了现有技术中docker的每个container无法独立与外界进行通信的问题。其中,本例中的container为docker启动的container。由于利用docker自身创建的bridge为docker管理的所有container分配网络通信标识时,所有的container只能够共用同一个网络通信标识,而利用指定的bridge进行网络通信标识的分配操作时,贝U能够利用bridge中的vlan对网络通信标识进行划分,使得组成docker的每个container能够被分配到独立的网络通信标识,并利用该网络通信标识独立与外界进行通信。因此,本发明实施例中,docker中的每个container能够直接与外界进行通信,避免通过第三方的数据分配等操作与外界进行通信导致的数据包不能够及时分配的问题,降低丢包率,提高container与外界的通信效率。
[0073]另外,由于使用本发明实施例提供的网络通信方法能够使得docker中的每个container具备独立与外界进行通信的能力(通过独立的网络通信标识),因此,则当docker中存在多个container时,可以利用每个container的独立的网络通信标识映射到同一端口,每个container都可以利用该端口与外界通信(包括同时和/或分时使用),互相之间并不影响。即采用本发明实施例能够将所有container绑定到同一个端口,实现任意端口对应的功能或者技术的无缝对接。
[0074]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0075]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中
的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0076]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0077]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0078]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置或者设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0079]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0080]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
【主权项】
1.一种网络通信方法,应用于包括多个容器container的开源应用容器引擎docker,包括: 使用docker指定网桥bridge,其中,所述bridge按如下步骤生成:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联所述vlan与网卡,生成所述bridge ;以及 利用所述bridge为所述docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过所述vlan独立与外界进行通信,其中,所述container 为所述 docker 启动的 container。2.根据权利要求1所述的方法,其中,为所述docker中的每个container分配独立的网络通信标识的步骤包括: 利用所述vlan根据所述docker中的container的个数对网络通信标识进行划分;以及 根据所述划分结果为所述docker中的每个container分配独立的网络通信标识。3.根据权利要求1或2所述的方法,其中,利用所述bridge为所述docker中的每个container分配独立的网络通信标识的步骤包括: 更改所述docker中的配置数据,以阻止所述docker的网络通信标识自动分配操作,其中,所述配置数据包括网卡配置数据;以及 将指定网络通信标识与所述docker中选定的container绑定,以供所述选定的container利用所述指定网络通信标识独立与外界进行通信。4.根据权利要求3所述的方法,其中,更改所述docker中的配置数据的步骤包括: 更改所述docker中的网卡配置数据为关闭false状态。5.根据权利要求1至4任一项所述的方法,其中,所述方法还包括: 利用所述bridge为所述docker中的每个container分配独立的网络通信标识之后,将所述docker中的所有container映射至同一功能端口,以供所述所有container共用所述功能端口对应的资源。6.根据权利要求1至5任一项所述的方法,其中,所述网络通信标识包括网络互联协议IP地址。7.—种网络通信客户端,应用于包括多个容器container的开源应用容器引擎docker,包括: 指定模块,适于使用docker指定网桥bridge,其中,所述bridge按如下步骤生成:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联所述vlan与网卡,生成所述bridge ;以及 分配模块,适于利用所述bridge为所述docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过所述vlan独立与外界进行通信,其中,所述container为所述docker启动的container。8.根据权利要求7所述的客户端,其中,在利用所述bridge为所述docker中的每个container分配独立的网络通信标识时,所述分配模块还适于: 利用所述vlan根据所述docker中的container的个数对网络通信标识进行划分;以及 根据所述划分结果为所述docker中的每个container分配独立的网络通信标识。9.根据权利要求8所述的客户端,其中,还包括: 数据更改模块,适于更改所述docker中的配置数据,以阻止所述docker的网络通信标识分配操作,其中,所述配置数据包括网卡配置数据;以及 绑定模块,适于将指定网络通信标识与所述docker中选定的container绑定,以供所述选定的container利用所述指定网络通信标识独立与外界进行通信。10.根据权利要求9所述的客户端,其中,在更改所述docker中的配置数据时,所述数据更改模块还适于: 更改所述docker中的网卡配置数据为关闭false状态。11.根据权利要求7至10任一项所述的客户端,其中,还包括: 映射模块,适于利用所述bridge为所述docker中的每个container分配独立的网络通信标识之后,将所述docker中的所有container映射至同一功能端口,以供所述所有container共用所述功能端口对应的资源。12.根据权利要求7至11任一项所述的客户端,其中,所述网络通信标识包括网络互联协议IP地址。
【专利摘要】本发明提供了一种网络通信方法及客户端。其中,该方法包括:使用docker指定桥bridge,其中,bridge按如下步骤生成:在虚拟局域网vlan设置为中继trunk模式时,利用网桥设备关联vlan与网卡,生成bridge;利用bridge为docker中的每个container分配独立的网络通信标识,使得每个container能够利用其网络通信标识通过vlan独立与外界进行通信,其中,container为docker启动的container。依据本发明实施例提供的网络通信方法能够使得docker中的每个container独立与外界进行通信。
【IPC分类】H04L12/46, H04L29/12
【公开号】CN105490910
【申请号】CN201410484051
【发明人】许斯亮, 赵鹏
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2016年4月13日
【申请日】2014年9月19日
【公告号】WO2016041421A1