The invention discloses a method and a device for constructing a container group. The method includes: receiving command information for building container group; parsing default configuration file according to command information to generate probe invocation command; invoking probe to probe the running state of the container which is dependent on the current container to be built in the container group based on probe invocation command; and judging the running state of the container. The state does not affect the construction of the current container, then the current container is built. Thus, the implementation can detect the running state of the dependent container by calling the probe, and construct the dependent container according to the running state, such as creating, starting, stopping, or deleting the container, which solves the abnormal problem of constructing the container group by the container packaging tool and makes the container group very orderly and logical. The quality of container group is improved.
【技术实现步骤摘要】
容器组的构建方法和装置
本专利技术涉及云计算
,尤其涉及一种容器组的构建方法和装置。
技术介绍
随着通信技术的快速发展,云计算对人们的生活产生了越来越大的影响。docker容器以其轻量化,封装化,快速迭代等特性成为目前云计算机技术中最为火热的技术。各类应用往往通过在宿主机上部署功能不同的容器(一般每个容器只负责单一功能,运行单一进程),并通过容器间的彼此交互完成相关任务。申请人经研究发现:事实上容器间的配合工作与运行在宿主机上的普通进程一样,有着彼此依赖的关系。例如:容器化的web集群,启动顺序应该为数据库容器,web应用容器,负载均衡容器,且必须是数据库容器完全启动成功(容器本身+内部数据实例)后,web应用容器才应启动,并对外提供服务;容器停止或者退出时,也需要对有依赖关系的容器进行按顺序的逐一停止和退出操作,否则很容易造成数据不一致的问题。现有容器的打包工具,例如dockercompose、crane等工具,这些工具实现了在特定文件格式(json,yaml)中定义、创建和删除容器的相关命令,实现了容器的按顺序打包一体化启动和停止。但是这些工具都没有考虑容器中运行的业务应用状态的情况,而直接进行下一容器的操作。这就容易造成如下容器装配异常问题:1)只是按照定义的顺序进行了容器的相关创建、启动和删除操作等,而没有关注容器中应用的状态,使得看似容器组启动成功,却无法使用应用。2)无法快速定位容器包(组)启动或者退出异常的问题原因。例如,容器开始启动成功,运行很短一段时间后却退出了。3)容器组退出时,没有进行应用进程的逻辑检查,容易造成数据的不一致的问 ...
【技术保护点】
1.一种容器组的构建方法,其特征在于,包括以下步骤:接收用于构建容器组的命令信息;根据所述命令信息对预设的配置文件进行解析,生成探针调用命令;基于所述探针调用命令,调用探针探测与所述容器组中待构建的当前容器具有依赖关系的容器的运行状态;判断所述运行状态不影响构建所述当前容器之后,构建所述当前容器。
【技术特征摘要】
1.一种容器组的构建方法,其特征在于,包括以下步骤:接收用于构建容器组的命令信息;根据所述命令信息对预设的配置文件进行解析,生成探针调用命令;基于所述探针调用命令,调用探针探测与所述容器组中待构建的当前容器具有依赖关系的容器的运行状态;判断所述运行状态不影响构建所述当前容器之后,构建所述当前容器。2.根据权利要求1所述的方法,其特征在于,所述对预设的配置文件进行解析之前,还包括:在用于构建容器组的配置文件中定义所述容器组中各个容器之间的依赖关系;设置用于探测定义了所述依赖关系的所述各个容器的运行状态的探针,生成所述预设的配置文件。3.根据权利要求2所述的方法,其特征在于,所述设置用于探测所述各个容器的运行状态的探针,包括:基于所述各个容器的业务场景,设置用于探测所述各个容器的运行状态的探针。4.根据权利要求1所述的方法,其特征在于,所述调用探针探测,包括:通过参数将探针的文件导入所述具有依赖关系的容器内进行探测;或,通过宿主机直接对所述具有依赖关系的容器内的应用进行探测;或,构建与所述当前容器在同一网络内的通用探针容器,利用所述通用探针容器进行探测。5.根据权利要求1所述的方法,其特征在于,所述容器的运行状态包括以下项中的至少一项:所述容器的启动状态、所述容器的停止状态、所述容器内进程的启动状态、所述容器内进程的停止状态。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述调用探针探测与所述容器组中待构建的当前容器的具有依赖关系的容器的运行状态之后,还包括:基于预设的等待时间、预设的探测次数和预设的递增时间差,探测与所述容器组中待构建的当前容器的具有依赖关系的容器的应用状态;判断所述预设的探测次数的探测结果是否符合预期;至少一个探测结果符合预期时,构建所述当前容器。7.根据权利要求1-5中任一项所述的方法,其特征在于,所述容器组为do...
【专利技术属性】
技术研发人员:陈海波,王维东,刘新荣,
申请(专利权)人:中国移动通信集团山西有限公司,中国移动通信集团公司,
类型:发明
国别省市:山西,14
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。