一种支持Docker环境多网络模式的管理方法与流程

文档序号:11930783阅读:452来源:国知局
一种支持Docker环境多网络模式的管理方法与流程

本发明涉及云计算软件应用技术领域,具体涉及一种支持Docker环境多网络模式的管理方法,一种基于Beego框架和Mariadb数据库支持Docker环境多网络模式的管理方法,保证Docker环境的容器在可控范围内灵活地使用网络。Docker环境初始化过程中配置好每个网络的必要参数和可用IP,Docker环境创建容器时选定网络模式后,后台数据库在可用IP池中分配IP给Docker容器使用;Docker环境销毁容器时释放IP,后台数据库回收此IP并重新置为可用待分配状态。



背景技术:

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。Docker创建容器时可以根据不同场景使用不同网络模式,除了原生的Brdige、Host、Container和None模式外,还有支持多主机通信的Overlay模式,以及第三方插件如Weave、Flannel、Kuryr等。多网络模式同时也带来了无法统一管理的困扰,因此我们需要一种支持Docker环境多网络模式的管理方法,来保障Docker容器的灵活使用。

Beego是一个快速开发Go应用的http框架,可以用来快速开发API、Web、后端服务等各种应用。它是基于八大独立的模块之上构建的,是一个高度解耦的框架。Beego 的分支Orm即对象关系映射,通过类或者结构体与数据库表进行一一对应,可以基本完成对数据库的增删改查操作。Beego的Orm操作的后台数据库为Mariadb,作为MySQL的一个分支,主要有开源社区维护,采用GPL授权许可,其目的是完全兼容MySQL,包括API和命令行,使之轻松成为MySQL的代替品,但在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种支持Docker环境多网络模式的管理方法。基于Beego框架和Mariadb数据库来管理Docker环境多网络模式,同时支持多网络运行,弥补Docker环境多网络无统一管理的不足和缺陷,服务端通过Beego框架的Orm操作后台数据库,这样可以帮助开发人员在良好的网络规划下更好的使用Docker容器,同时有效的进行Docker容器的网络管理。解决在生产环境中,支持Docker环境多网络模式的管理,灵活控制Docker容器的IP申请与释放,从而更方便地使用Docker容器。

本发明所采用的技术方案为:

一种支持Docker环境多网络模式的管理方法,所述方法基于Beego框架和Mariadb数据库,在生产环境下完成Docker环境网络控制和灵活管理,使得Docker容器在可控的范围内更灵活地使用多种网络模式,并且支持Docker环境多种模式的网络并存。

所述方法通过Docker环境初始化,配置每个网络必要的参数,后台Mariadb数据库根据网络-子网-IP的形式依次建立数据表并保存数据;Docker环境创建容器前首先申请IP,后台数据库根据其需要的网络模式分配可用IP,Docker环境携带此IP创建容器。

所述Docker环境销毁容器时释放IP,后台数据库回收此IP并重新置为可用待分配状态。

所述方法实现步骤如下:

A:主机搭建Docker环境,配置各个模式网络的基本信息,后台数据库建立数据表并保存信息;

B:Docker环境创建容器时,首先需要申请一个IP,后台数据库检索对应的网络模式分配可用IP;容器携带此IP进行创建,如创建成功,通知数据库更新该IP状态,返回Docker环境;如创建失败,返回Docker环境,通知数据库重置该IP状态;

C:Docker环境销毁容器时,释放IP后,后台数据库查到该IP并重置其状态,返回Docker环境释放成功。

Mairadb数据库的网络部分数据库建立Network、Subnet、IP三张表,其中Network表记录每个网络的基本信息,映射一到多个Subnet表;Subnet表记录每个网络的可用IP段,映射一到多个IP表;IP表记录每个IP及其是否可用的状态。

所述方法实现基于CentOS release 7操作系统,基于Etcd和Swarm搭建1.11.1版本的Docker集群环境,服务端编程基于Go语言编程实现。

所述Go语言版本为1.5.3 linux/amd64。

所述Beego版本为1.6.4。

所述Mairadb数据库版本为5.5.47。

本发明的有益效果为:

本发明方法集成在生产环境下Docker集群管理环境工程中,Docker容器可根据使用创建自主选择需要的网络模式,从而完成Docker环境网络的控制管理与容器的灵活使用。

附图说明

图1为Docker环境初始化网络流程图;

图2为Docker环境创建容器申请IP流程;

图3为Docker容器销毁容器释放IP流程。

具体实施方式

根据说明书附图,结合具体实施方式对本发明进一步说明:

实施例1:

一种支持Docker环境多网络模式的管理方法,所述方法基于Beego框架和Mariadb数据库,在生产环境下完成Docker环境网络控制和灵活管理,使得Docker容器在可控的范围内更灵活地使用多种网络模式,并且支持Docker环境多种模式的网络并存。

实施例2

如图1、2所示,在实施例1的基础,本实施例所述方法通过Docker环境初始化,配置每个网络必要的参数,后台Mariadb数据库根据网络-子网-IP的形式依次建立数据表并保存数据;Docker环境创建容器前首先申请IP,后台数据库根据其需要的网络模式分配可用IP,Docker环境携带此IP创建容器。

实施例3

如图3所示,在实施例2的基础,本实施例所述Docker环境销毁容器时释放IP,后台数据库回收此IP并重新置为可用待分配状态。

实施例4

在实施例3的基础,本实施例所述方法实现步骤如下:

A:主机搭建Docker环境,用户在界面配置各个模式网络的基本信息,如CIDR段、网关、可用IP段(起止IP)等,后台数据库建立数据表并保存信息;

B:Docker环境创建容器时,首先需要申请一个IP,后台数据库检索对应的网络模式分配可用IP;容器携带此IP进行创建,如创建成功,通知数据库更新该IP状态,返回Docker环境;如创建失败,返回Docker环境,通知数据库重置该IP状态;

C:Docker环境销毁容器时,释放IP后,后台数据库查到该IP并重置其状态,返回Docker环境释放成功。

实施例5

在任一实施例1-4的基础,本实施例Mairadb数据库的网络部分数据库建立Network、Subnet、IP三张表,其中Network表记录每个网络的基本信息,映射一到多个Subnet表;Subnet表记录每个网络的可用IP段,映射一到多个IP表;IP表记录每个IP及其是否可用的状态。

实施例6

在实施例5的基础,本实施例所述方法实现基于CentOS release 7操作系统,基于Etcd和Swarm搭建1.11.1版本的Docker集群环境,服务端编程基于Go语言编程实现。

实施例7

在实施例6的基础,本实施例所述Go语言版本为1.5.3 linux/amd64。

实施例8

在实施例7的基础,本实施例所述Beego版本为1.6.4。

其中的路由功能用来实现从请求地址到实现方法,可以在界面配置网络初始化参数;ORM模块实现对后台数据库的增删改查等操作,可以灵活操作Mairadb数据库。

实施例9

在实施例8的基础,本实施例所述Mairadb数据库版本为5.5.47。

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1