一种Docker容器状态实时同步方法技术

技术编号:16700536 阅读:61 留言:0更新日期:2017-12-02 12:49
本发明专利技术公开一种Docker容器状态实时同步方法,包括以下步骤:搭建容器管理平台;创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;当容器管理平台接收到监控数据时,更新Etcd数据库中相应容器TTL超时时间;容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。本方法能处理Docker宿主机关机、Docker进程停止异常场景下的容器状态更新。

A real-time synchronization method for Docker container

The invention discloses a Docker container real-time synchronization method, which comprises the following steps: build a container management platform; create a container, the container store information in the Etcd database, and set the timeout in TTL container; container where the host container deployment monitoring component, container monitoring component monitoring data report period when the container container management platform; management platform to monitor the received data, update the Etcd database in the corresponding container TTL timeout; container monitoring management platform Etcd database, when the monitor information is deleted when the container, the container management platform to determine database platform of the container state is stopped, if not stopped, will update it to stop. This method can handle the container status updates in the Docker host shutdown and the Docker process stop exception scenario.

【技术实现步骤摘要】
一种Docker容器状态实时同步方法
本专利技术涉及云计算容器管理领域,具体涉及一种Docker容器状态实时同步方法。
技术介绍
容器的管理和使用是云计算的下一个阶段,容器由于其轻量、易迁移、易启动等优点,逐渐被各大云计算平台采用,并以服务的方式提供给开发者使用。容器可能会由于其内部运行的进程异常,导致容器关机或者重启,此时,容器管理平台需要能够实时监控到容器的状态变化,并给出相应的告警信息,Docker(开源容器引擎)提供了处理Docker事件的接口,但不能处理全部的异常情况,例如Docker宿主机关机、Docker进程停止等。
技术实现思路
为解决上述问题,提出了一种Docker容器状态实时同步方法。本专利技术的技术方案是:一种Docker容器状态实时同步方法,包括以下步骤:搭建容器管理平台,容器管理平台包括平台数据库;创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间;容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。进一步地,还包括步骤:当容器管理平台启动时,将平台数据库中处于运行态的容器信息保存到Etcd数据库,并设置容器TTL超时时间。进一步地,Etcd数据库容器信息被删除是指当容器管理平台在超过容器TTL超时时间后仍未收到监控数据,则Etcd数据库中相应容器信息被删除。进一步地,还包括步骤:当容器管理平台删除容器时,同时删除Etcd书库内相应容器信息。进一步地,容器管理平台监听Etcd数据库是指利用Etcd数据库的Watch机制监听Etcd数据库的指定目录。进一步地,Etcd数据库为3.0以上版本的Etcd数据库。进一步地,容器TTL超时时间为2分钟。本专利技术提供的Docker容器状态实时同步方法,采用Etcd的Key超时机制、Watch机制,同时配置容器监控信息的周期上报,实现容器状态的实时更新,与Docker原生接口提供的功能相比,除能够处理Docker容器正常关闭、启动的状态更新外,还能够处理Docker宿主机关机、Docker进程停止异常场景下的容器状态更新,在生产环境下,这两种状态是非常重要的异常场景。附图说明图1本专利技术具体实施例流程示意图。具体实施方式下面结合附图并通过具体实施例对本专利技术进行详细阐述,以下实施例是对本专利技术的解释,而本专利技术并不局限于以下实施方式。如图1所示,本实施例提供的Docker容器状态实时同步方法,在Etcd数据库保存容器信息,并为该信息设置TTL超时时间(TimeToLive,存活时间),容器管理平台在收到容器的监控数据时,会刷新该信息的TTL超时时间,保证容器信息不会因为TTL到期而被删除;当容器关机、宿主机关机或Docker进程停止时,容器管理平台无法收到该容器的监控信息,Etcd数据库保存的容器信息由于TTL超时,会被自动删除,容器管理平台利用Etcd数据库的Watch机制监控到该容器信息被删除的信息后,会将平台数据库中的容器状态进行更新。容器由关机状态变为启动状态时,采用相同的流程处理。具体包括以下步骤:搭建容器管理平台,容器管理平台包括平台数据库;创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间,保证容器信息不会因为TTL到期而被删除;容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。其中Etcd数据库容器信息被删除是指当容器管理平台在超过容器TTL超时时间后仍未收到监控数据,则Etcd数据库中相应容器信息被删除。容器管理平台利用Etcd数据库的Watch机制监听Etcd数据库的指定目录,从而获得Etcd数据库内容器信息。本实施例还包括步骤:当容器管理平台启动时,将平台数据库中处于运行态的容器信息保存到Etcd数据库,并设置容器TTL超时时间。当容器管理平台删除容器时,同时删除Etcd书库内相应容器信息。本实施例中,Etcd数据库可以使用3.0以上版本的Etcd数据库,容器TTL超时时间可设置为2分钟。以上公开的仅为本专利技术的优选实施方式,但本专利技术并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本专利技术原理前提下所作的若干改进和润饰,都应落在本专利技术的保护范围内。本文档来自技高网...
一种Docker容器状态实时同步方法

【技术保护点】
一种Docker容器状态实时同步方法,其特征在于,包括以下步骤:搭建容器管理平台,容器管理平台包括平台数据库;创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间;容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。

【技术特征摘要】
1.一种Docker容器状态实时同步方法,其特征在于,包括以下步骤:搭建容器管理平台,容器管理平台包括平台数据库;创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间;容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。2.根据权利要求1所述的Docker容器状态实时同步方法,其特征在于,还包括步骤:当容器管理平台启动时,将平台数据库中处于运行态的容器信息保存到Etcd数据库,并设置容器T...

【专利技术属性】
技术研发人员:王德奎
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1