CN106161104A - 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法 - Google Patents

一种基于Docker事件自动化配置Docker容器同主机网络IP的方法 Download PDF

Info

Publication number
CN106161104A
CN106161104A CN201610698848.5A CN201610698848A CN106161104A CN 106161104 A CN106161104 A CN 106161104A CN 201610698848 A CN201610698848 A CN 201610698848A CN 106161104 A CN106161104 A CN 106161104A
Authority
CN
China
Prior art keywords
docker
event
container
docker container
service end
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
CN201610698848.5A
Other languages
English (en)
Other versions
CN106161104B (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610698848.5A priority Critical patent/CN106161104B/zh
Publication of CN106161104A publication Critical patent/CN106161104A/zh
Application granted granted Critical
Publication of CN106161104B publication Critical patent/CN106161104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Abstract

本发明公开了一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,属于Docker技术领域,本发明能够保证当后台发生Docker事件这种异常情况时,Docker容器与外部网络的相互访问能够不受影响。采用的技术方案为:步骤如下:主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;发生Docker事件时,客户端的监听线程模块监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。

Description

一种基于Docker事件自动化配置Docker容器同主机网络IP的 方法
技术领域
本发明涉及一种Docker技术领域,具体地说是一种基于Docker事件自动化配置Docker容器同主机网络IP的方法。
背景技术
Docker是PaaS提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在Github上, 基于go语言并遵从Apache2.0协议开源。Docker 使用客户端-服务器(C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。基于Linux Bridge和Namespace可以实现Docker容器使用同主机的本地网络,使得外部网络与Docker容器可以方便地进行相互访问。整个框架分为服务端和客户端,它们通过RESTful URL的形式实现通信。
申请号为CN201510375226.4,申请名称为:基于Docker的配置管理方式及装置。公开了一种基于Docker的配置管理方式,应用于包括多个容器的Docker运行环境中,包括:获取Docker运行环境中的多个容器的配置需求;确定与配置需求相应的底层系统命令;依据配置需求并调用底层系统命令来对Docker运行环境中的多个容器进行配置管理。解决了原生Docker对其内部虚拟化的容器的配置管理方式不完善的问题。
但是现有技术中,当后台发生Docker事件这种异常情况时,Docker容器本身并不具备环境自恢复的功能,比如重启Docker容器时释放IP后不会再次申请IP。如何保证当后台发生Docker事件这种异常情况时,Docker容器与外部网络的相互访问能够不受影响,是目前本技术领域人员迫切需要解决的问题。
发明内容
本发明的技术任务是提供一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,来保证当后台发生Docker事件这种异常情况时,Docker容器与外部网络的相互访问能够不受影响。
本发明的技术任务是按以下方式实现的,
一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,步骤如下:
(1)、主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;
(2)、客户端增加一个监听线程模块,监听线程模块用于对Docker容器提供Docker事件的实时监测;
(3)、发生Docker事件时,客户端的监听线程模块监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;Docker事件通知内包括如下信息:Docker容器所在主机IP、Docker事件类型和Docker容器ID;
(4)、服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。
步骤(2)中的Docker事件包括Docker容器启动(start)、Docker容器停止(stop)或Docker容器销毁(destroy)。
基于CentOS release 7操作系统搭建1.11.2版本的Docker环境;服务端编程基于Go语言实现;客户端基于Python语言实现;客户端配置Docker容器IP的初始化网络的脚本、申请IP的脚本和释放IP的脚本基于Linux Shell语言实现。
服务端基于Go语言版本为1.4.2,使用Beego框架方便实现RESTful URL消息通信和数据库的数据表处理;客户端基于Python语言版本为2.7,能够完善支持多线程技术及RESTful URL消息通信。
一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,步骤如下:
(1)、主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;
(2)、客户端增加一个监听线程模块,监听线程模块用于对Docker容器提供Docker事件的实时监测;
(3)、发生Docker事件为Docker容器重启(restart)时,客户端的监听线程监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;Docker事件通知内包括如下信息:Docker容器所在主机IP、Docker事件类型和Docker容器ID;
(4)、服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型先调用释放IP再调用申请IP的流程,通过二次调用处理来保证该Docker容器自动化配置IP,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。
本发明的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法具有以下优点:
1、Docker创建容器时可以使用同主机的本地网络,使得外部网络与Docker容器可以方便地进行相互访问;
2、利用多线程技术和RESTful URL形式通信,实现基于Docker事件自动化配置Docker容器同主机网络IP,支持多种Docker事件触发,弥补Docker原生环境不能自适应的缺陷,这样保证不论在正常还是异常情况下,Docker容器的网络环境都是稳定且自适应的,从而不影响Docker容器对外提供服务。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于Docker事件自动化配置Docker容器同主机网络IP的方法的流程图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法作以下详细地说明。
实施例1:
本发明的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法, 步骤如下:
(1)、主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;
(2)、客户端增加一个监听线程模块,监听线程模块用于对Docker容器提供Docker事件的实时监测;
(3)、发生Docker事件时,客户端的监听线程模块监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;Docker事件通知内包括如下信息:Docker容器所在主机IP、Docker事件类型和Docker容器ID;
(4)、服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。
步骤(2)中的Docker事件包括Docker容器启动(start)、Docker容器停止(stop)或Docker容器销毁(destroy)。
基于CentOS release 7操作系统搭建1.11.2版本的Docker环境;服务端编程基于Go语言实现;客户端基于Python语言实现;客户端配置Docker容器IP的初始化网络的脚本、申请IP的脚本和释放IP的脚本基于Linux Shell语言实现。
服务端基于Go语言版本为1.4.2,使用Beego框架方便实现RESTful URL消息通信和数据库的数据表处理;客户端基于Python语言版本为2.7,能够完善支持多线程技术及RESTful URL消息通信。
实施例2:
本发明的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,步骤如下:
(1)、主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;
(2)、客户端增加一个监听线程模块,监听线程模块用于对Docker容器提供Docker事件的实时监测;
(3)、发生Docker事件为Docker容器重启(restart)时,客户端的监听线程监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;Docker事件通知内包括如下信息:Docker容器所在主机IP、Docker事件类型和Docker容器ID;
(4)、服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型先调用释放IP再调用申请IP的流程,通过二次调用处理来保证该Docker容器自动化配置IP,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (5)

1.一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,其特征在于步骤如下:
(1)、主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;
(2)、客户端增加一个监听线程模块,监听线程模块用于对Docker容器提供Docker事件的实时监测;
(3)、发生Docker事件时,客户端的监听线程模块监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;Docker事件通知内包括如下信息:Docker容器所在主机IP、Docker事件类型和Docker容器ID;
(4)、服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型调用相应的流程,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。
2.根据权利要求1所述的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,其特征在于步骤(2)中的Docker事件包括Docker容器启动、Docker容器停止或Docker容器销毁。
3.根据权利要求1所述的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,其特征在于基于CentOS release 7操作系统搭建1.11.2版本的Docker环境;服务端编程基于Go语言实现;客户端基于Python语言实现;客户端配置Docker容器IP的初始化网络的脚本、申请IP的脚本和释放IP的脚本基于Linux Shell语言实现。
4.根据权利要求3所述的一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,其特征在于服务端基于Go语言版本为1.4.2,使用Beego框架方便实现RESTful URL消息通信和数据库的数据表处理;客户端基于Python语言版本为2.7,能够完善支持多线程技术及RESTful URL消息通信。
5.一种基于Docker事件自动化配置Docker容器同主机网络IP的方法,其特征在于步骤如下:
(1)、主机搭建好Docker环境后,客户端调用脚本初始化网桥br0连接到主机网卡eth1上,服务端数据库保存主机的网络信息,Docker容器创建成功;
(2)、客户端增加一个监听线程模块,监听线程模块用于对Docker容器提供Docker事件的实时监测;
(3)、发生Docker事件为Docker容器重启时,客户端的监听线程监测到该Docker事件,把Docker事件通知上报给服务端,以RESTful URL方式进行通信;Docker事件通知内包括如下信息:Docker容器所在主机IP、Docker事件类型和Docker容器ID;
(4)、服务端接收到Docker事件通知后,根据Docker容器ID检查其IP配置,根据Docker事件类型先调用释放IP再调用申请IP的流程,通过二次调用处理来保证该Docker容器自动化配置IP,最终将接收到的参数拼装成RESTful URL的形式下发给Docker容器所在主机执行相应的脚本。
CN201610698848.5A 2016-08-22 2016-08-22 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法 Active CN106161104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610698848.5A CN106161104B (zh) 2016-08-22 2016-08-22 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610698848.5A CN106161104B (zh) 2016-08-22 2016-08-22 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法

Publications (2)

Publication Number Publication Date
CN106161104A true CN106161104A (zh) 2016-11-23
CN106161104B CN106161104B (zh) 2019-06-04

Family

ID=57342489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610698848.5A Active CN106161104B (zh) 2016-08-22 2016-08-22 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法

Country Status (1)

Country Link
CN (1) CN106161104B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686088A (zh) * 2016-12-30 2017-05-17 广东浪潮大数据研究有限公司 一种支持Docker环境多网络模式的管理方法
CN106790658A (zh) * 2017-01-19 2017-05-31 郑州云海信息技术有限公司 一种Docker网络插件实现方法
CN106933635A (zh) * 2017-03-15 2017-07-07 北京搜狐新媒体信息技术有限公司 Docker镜像生成方法及Docker容器
CN107426281A (zh) * 2017-04-28 2017-12-01 武汉票据交易中心有限公司 一种客户端事件和服务器事件的交互处理系统及方法
CN108021428A (zh) * 2017-12-05 2018-05-11 华迪计算机集团有限公司 一种基于Docker实现网络靶场的方法和系统
CN110493269A (zh) * 2019-09-24 2019-11-22 福建中锐网络股份有限公司 一种Web远程Docker容器桌面的方法
CN113504969A (zh) * 2021-07-07 2021-10-15 北京汇钧科技有限公司 容器事件告警的方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951360A (zh) * 2015-06-30 2015-09-30 北京奇虎科技有限公司 基于Docker的配置管理方式及装置
CN104991815A (zh) * 2015-06-19 2015-10-21 北京奇虎科技有限公司 Docker容器的管理方法和系统
CN105681420A (zh) * 2016-01-18 2016-06-15 浪潮集团有限公司 一种基于Docker实现交换机操作系统备份的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991815A (zh) * 2015-06-19 2015-10-21 北京奇虎科技有限公司 Docker容器的管理方法和系统
CN104951360A (zh) * 2015-06-30 2015-09-30 北京奇虎科技有限公司 基于Docker的配置管理方式及装置
CN105681420A (zh) * 2016-01-18 2016-06-15 浪潮集团有限公司 一种基于Docker实现交换机操作系统备份的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686088A (zh) * 2016-12-30 2017-05-17 广东浪潮大数据研究有限公司 一种支持Docker环境多网络模式的管理方法
CN106790658A (zh) * 2017-01-19 2017-05-31 郑州云海信息技术有限公司 一种Docker网络插件实现方法
CN106933635A (zh) * 2017-03-15 2017-07-07 北京搜狐新媒体信息技术有限公司 Docker镜像生成方法及Docker容器
CN107426281A (zh) * 2017-04-28 2017-12-01 武汉票据交易中心有限公司 一种客户端事件和服务器事件的交互处理系统及方法
CN108021428A (zh) * 2017-12-05 2018-05-11 华迪计算机集团有限公司 一种基于Docker实现网络靶场的方法和系统
CN110493269A (zh) * 2019-09-24 2019-11-22 福建中锐网络股份有限公司 一种Web远程Docker容器桌面的方法
CN110493269B (zh) * 2019-09-24 2021-09-07 福建中锐网络股份有限公司 一种Web远程Docker容器桌面的方法
CN113504969A (zh) * 2021-07-07 2021-10-15 北京汇钧科技有限公司 容器事件告警的方法、装置及电子设备

Also Published As

Publication number Publication date
CN106161104B (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
CN106161104A (zh) 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法
CN106302771A (zh) 一种基于Docker容器创建的应用的域名配置方法
US20180375726A1 (en) Resource Configuration Method, Virtualized Network Function Manager, and Element Management System
EP3261300B1 (en) Method and device for establishing link between virtual network functions
CN108255497B (zh) 一种应用的部署方法及装置
US10820212B2 (en) System and method for partitioned wireless telecommunication network deployment
CN106331065B (zh) 一种用于具有服务容器的主机系统的代理应用以及系统
CN110071984A (zh) 一种网络标识映射方法和系统以及终端、标识网关
US11252032B1 (en) Monitoring VNFCs that are composed of independently manageable software modules
CN109327557B (zh) 一种虚拟机ip地址的管理方法及装置
CN106549789B (zh) 一种实现服务器安装的方法及系统
CN105959302B (zh) 一种终端管理系统及方法
CN108989151B (zh) 用于网络或应用性能管理的流量采集方法
CN108667639A (zh) 一种私有云环境下的资源管理方法及管理服务器
CN112910884B (zh) 一种通过封装tr069消息实现apk与acs交互的方法
CN110460541A (zh) 应用于web服务器的限流方法及装置
CN112818064A (zh) 多系统数据同步方法、装置、设备及存储介质
WO2017028612A1 (zh) 虚拟机杀毒的方法及装置
CN112087516A (zh) 基于Docker虚拟化技术的存储升级方法和装置
CN115248692A (zh) 一种支持多种深度学习框架模型云端部署的装置及方法
CN111245781A (zh) 一种linux服务器动态封阻IP的方法及其系统
US20210326162A1 (en) Lifecycle management of a vnfc included in a multi-vnfc vdu
WO2017000616A1 (zh) 访问云数据的方法及装置、存储介质
CN115643168B (zh) 一种节点超融合升级方法、装置、设备及存储介质
US20210218801A1 (en) Method, apparatus and storage medium for resource configuration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200519

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 250101 Ji'nan high tech Zone, Shandong, No. 1036 wave road

Patentee before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee before: Tidal Cloud Information Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder