CN106383852A - 基于Docker容器的日志获取方法和装置 - Google Patents
基于Docker容器的日志获取方法和装置 Download PDFInfo
- Publication number
- CN106383852A CN106383852A CN201610787072.4A CN201610787072A CN106383852A CN 106383852 A CN106383852 A CN 106383852A CN 201610787072 A CN201610787072 A CN 201610787072A CN 106383852 A CN106383852 A CN 106383852A
- Authority
- CN
- China
- Prior art keywords
- container
- host
- file
- docker
- root
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于Docker容器的日志获取方法和装置,该方法包括:接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息;根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带容器文件夹挂载参数,以使宿主机创建Docker容器,并创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码;向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中;根据目标地址中的容器身份标识码从目标地址中获取Docker容器对应的文件夹,以获取文件夹中的日志。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种基于Docker容器的日志获取方法和装置。
背景技术
以Docker为代表的基于容器的虚拟化技术是当前虚拟技术的热点。容器技术通过隔离进程和资源,实现轻量级虚拟化。Docker是一个开源的应用容器引擎,提供了一种应用程序快速自动化部署的解决方案。利用Docker可以使用应用程序所在的镜像快速创建并启动容器,容器创建并运行后,应用程序即部署完成。一台物理机上可以部署多个Docker容器,每个Docker容器之间相互隔离,该物理机一般被称为宿主机。
应用程序运行过程中,会产生大量日志,日志对问题定位分析往往起了无可替代作用。在基于Docker的应用程序部署后,日志写入Docker容器内的文件,从宿主机无法直接访问日志文件。现有技术中获取日志文件的方法主要有两种:第一种方法是将全部日志输出到标准输出上,然后使用Docker的获取容器日志命令,即logs命令获取容器中的日志文件;第二种方法在Docker容器启动时,将应用程序内部输出的日志文件使用文件挂载参数,即-v参数挂载到宿主机上,后续可在宿主机上直接获取。
但现有技术中的两种日志文件的获取方法,并不能对各个容器输出的日志文件进行区分,进而不能对日志文件进行有效地利用。
发明内容
本发明实施例提供一种基于Docker容器的日志获取方法和装置,解决了现有技术的日志获取方法中不能对各个容器输出的日志文件进行区分,进而不能对日志文件进行有效地利用的技术问题。
本发明实施例提供一种基于Docker容器的日志获取方法,包括:
接收用户输入的容器创建指令,所述容器创建指令中携带宿主机的标识信息及应用程序对应的镜像;
根据所述宿主机的标识信息,向所述宿主机发送容器创建指令,所述容器创建指令中携带所述应用程序对应的镜像及容器文件夹挂载参数,所述容器文件夹挂载参数中包括所述容器的身份标识码,以使所述宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在所述宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,所述对应的目标地址中包括Docker容器的身份标识码;
向所述宿主机发送容器启动指令,以使所述宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,并在宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志;
根据所述宿主机根目录对应的目标地址中的容器身份标识码从所述目标地址中获取所述Docker容器的容器根目录对应的文件夹,以获取所述文件夹中的日志。
本发明实施例提供一种基于Docker容器的日志获取装置,包括:
接收模块,用于接收用户输入的容器创建指令,所述容器创建指令中携带宿主机的标识信息及应用程序对应的镜像;
发送模块,用于根据所述宿主机的标识信息,向所述宿主机发送容器创建指令,所述容器创建指令中携带所述应用程序对应的镜像及容器文件夹挂载参数,所述容器文件夹挂载参数中包括所述容器的身份标识码,以使所述宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在所述宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,所述对应的目标地址中包括Docker容器的身份标识码;
所述发送模块,还用于向所述宿主机发送容器启动指令,以使所述宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,并在宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志;
获取模块,用于根据所述宿主机根目录对应的目标地址中的容器身份标识码从所述目标地址中获取所述Docker容器的容器根目录对应的文件夹,以获取所述文件夹中的日志。
本发明实施例提供一种基于Docker容器的日志获取方法和装置,通过接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息及应用程序对应的镜像;根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带应用程序对应的镜像及容器文件夹挂载参数,容器文件夹挂载参数中包括容器的身份标识码,以使宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码;向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,并在宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志;根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,以获取文件夹中的日志。由于将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,每个目标地址中包括Docker容器的身份标识码,所以能够根据目标地址中的Docker容器的身份标识码对不同Docker容器所生成的日志进行区分,在目标地址中存储有Docker容器所生成的所有日志,能够对日志文件进行有效地利用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于Docker容器的日志获取方法实施例一的流程图;
图2为本发明基于Docker容器的日志获取方法实施例二的流程图;
图3为本发明基于Docker容器的日志获取装置实施例一的结构示意图;
图4为本发明基于Docker容器的日志获取装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为基于本发明基于Docker容器的日志获取方法实施例一的流程图,如图1所示,本实施例提供的执行主体为Docker容器的日志获取装置,该Docker容器的日志获取装置可以为计算机或服务器中的应用。该Docker容器的日志获取装置与多个宿主机进行通信连接。宿主机为物理机。则本实施例提供的Docker容器的日志获取方法包括以下几个步骤。
步骤101,接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息及应用程序对应的镜像。
在Docker容器的日志获取装置中,可向用户提供创建容器的选择菜单,用户可根据显示的选择菜单选择创建的容器的宿主机以及创建的容器所属的应用程序对应的镜像。然后通过键盘或鼠标点击容器创建图标,向Docker容器的日志获取装置发送容器创建指令。
其中,宿主机的标识信息可以为宿主机的IP地址信息或其他唯一标识该宿主机的信息。应用程序对应的镜像为创建容器所用的应用程序对应的镜像。
步骤102,根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带应用程序对应的镜像及容器文件夹挂载参数,容器文件夹挂载参数中包括容器的身份标识码,以使宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码。
本实施例中,向宿主机发送的容器创建指令中携带的应用程序对应的镜像,用于宿主机根据应用程序对应的镜像快速创建Docker容器。
本实施例中,向宿主机发送的容器创建指令中携带容器文件夹挂载参数,该容器文件夹挂载参数为-v参数,用于将容器文件夹挂载到宿主机上。具体地,在容器文件夹挂载参数中包括有创建的Docker容器的身份标识码,该身份标识码是唯一确定该Docker容器身份的编码。
本实施实例中,宿主机根据该容器创建指令中的容器文件夹挂载参数在创建的Docker容器内创建容器根目录对应的文件夹,该容器根目录对应的文件夹名称可预先定义。并创建宿主机根目录和对应的目标地址,宿主机根目录对应的目标地址在宿主机根目录下,宿主机根目录的名称可预先定义,该对应的目标地址中包括Docker容器的身份标识码。
本实施例中,宿主机根据容器文件夹挂载参数,将容器根目录对应的文件夹挂载到宿主机根目录下,则在宿主机根目录对应的目标地址中也包括了该文件夹。即将不同Docker容器中的容器根目录对应的文件夹挂载在了宿主机根目录中不同的目标地址中,以目标地址中的Docker容器的身份标识码来区分不同的容器根目录对应的文件夹。
本实施例中,在创建的容器根目录对应的文件夹中可包括多个文件或文件夹,该每个文件或文件夹用于写入同一类日志。
其中,文件夹中的日志包括:Docker容器日志以及Docker容器所属的应用程序日志。Docker容器所属的应用程序日志包括应用程序各个模块所产生的日志。
步骤103,向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中。
其中,在宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志。
具体地,本实施例中,向宿主机发送容器启动指令后,Docker容器内生成日志,将生成的日志分类写入到容器根目录对应的文件夹中,以对Docker容器生成的日志进行区分,由于该容器根目录对应的文件夹被挂在在宿主机根目录对应的目标地址中,所以在目标地址中也包括了该文件夹,在将生成的日志写入到容器根目录对应的文件夹中时,在宿主机根目录对应的目标地址的文件夹中也同时写入了日志。所以在宿主机根目录对应的目标地址的文件夹中具有和容器根目录对应的文件夹相同的日志。
步骤104,根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,以获取文件夹中的日志。
具体地,本实施例中,由于在主机根目录对应的目标地址中包括容器身份标识码,该目标地址中所存储的文件夹为该容器标识码对应的Docker容器的容器根目录对应的文件,所以根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,该文件夹中的日志为该Docker容器对应的日志。
在目标地址中的文件夹中所写入的日志也是为分类进行写入的日志。文件夹中日志包括:Docker容器日志以及Docker容器所属的应用程序日志。
本实施例提供的基于Docker容器的日志获取方法,通过接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息及应用程序对应的镜像;根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带应用程序对应的镜像及容器文件夹挂载参数,容器文件夹挂载参数中包括容器的身份标识码,以使宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码;向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,并在宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志;根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,以获取文件夹中的日志。由于将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,每个目标地址中包括Docker容器的身份标识码,所以能够根据目标地址中的Docker容器的身份标识码对不同Docker容器所生成的日志进行区分,在目标地址中存储有Docker容器所生成的所有日志,能够对日志文件进行有效地利用。
图2为本发明基于Docker容器的日志获取方法实施例二的流程图,如图2所示,本实施例相较于实施例一,为一更为优选的实施例,则本实施例提供的Docker容器的日志获取方法包括以下步骤。
步骤201,接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息及应用程序对应的镜像。
本实施例中,步骤201的实现方式和本发明基于Docker容器的日志获取方法实施例一中的步骤101的实现方式相同,在此不再一一赘述。
步骤202,根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带应用程序对应的镜像及容器文件夹挂载参数,容器文件夹挂载参数中包括容器的身份标识码,以使宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码。
进一步地,在容器文件夹挂载参数中还可以包括:容器根目录对应的文件夹名称,宿主机根目录对应的名称,以及创建的容器所属的应用程序的名称等,以使宿主机根据该容器创建指令中的容器文件夹挂载参数在创建的Docker容器内创建容器根目录对应的文件夹,并创建宿主机根目录和对应的目标地址,宿主机根目录对应的目标地址在宿主机根目录下,该对应的目标地址中包括Docker容器的身份标识码,还可包括Docker容器所属的应用程序的名称。
对步骤202举例说明为:创建的Docker容器的容器根目录对应的文件夹名称为:AppRoot,宿主机根目录对应的名称为:ActualRoot,创建的容器所属的应用程序的名称为:AppName,Docker容器的身份标识码为:id1,则宿主机根目录对应的目标地址表示为:ActualRoot/AppName/id1,该容器文件夹挂载参数-v参数可表示为:-v AppRoot:ActualRoot/AppName/id1。宿主机根据该容器文件夹挂载参数将AppRoot文件夹挂载到宿主机根目录中,即在宿主机根目录对应的目标地址为:ActualRoot/AppName/id1下存储有AppRoot文件夹。
步骤203,对Docker容器的基本信息进行关联存储。
进一步地,Docker容器的基本信息包括:Docker容器的身份标识码、Docker容器所在的宿主机信息、Docker容器所属的应用程序信息。
步骤204,向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中。
其中,在宿主机根目录对应的目标地址中具有文件夹,在文件夹中具有生成的日志。
具体地,本实施例中,可调用docker deamon接口,通过该接口发送容器启动指令。
步骤205,根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,以获取文件夹中的日志。
进一步地,本实施例中,文件夹中的日志包括:Docker容器日志以及Docker容器所属的应用程序日志。
本实施例中,步骤205的实现方式与本发明基于Docker容器的日志获取方法实施例一中的步骤104的实现方式相同,在此不再一一赘述。
步骤206,对每个宿主机根目录下的文件夹中的所有日志进行解析,根据预设策略判断是否存在业务问题,若存在业务问题,则执行步骤207,否则,则结束。
进一步地,本实施例中,由于在宿主根目录下存储有该宿主机部署的所有Docker容器对应的文件夹,每个文件夹里为对应的Docker容器生成的所有日志。所以可对宿主机中所有Docker容器对应的文件夹中的日志进行解析来判断是否存在业务问题。其中对判断是否存在业务问题的预设策略可预先设定,如可以为业务成交量是否超过预设阈值,CPU使用率是否超过预设阈值等。本实施例中对该预设策略不做限定。
步骤207,根据文件夹对应的目标地址获取Docker容器的身份标识码,并根据预存储的Docker容器的基本信息,获取Docker容器所在的宿主机信息、Docker容器所属的应用程序信息,以对业务问题进行定位。
进一步地,本实施例中,对日志进行解析后,获取存在业务问题的日志,并获取该日志所在文件夹的目标地址,从目标地址中获取Docker容器的身份标识码,该Docker容器的身份标识码可定位出出现业务问题的Docker容器,并根据预存储的Docker容器的基本信息,获取Docker容器所在的宿主机信息、Docker容器所属的应用程序信息,即可定位出出现业务问题的Docker容器所属的应用程序和宿主机,进而有目标地解决业务问题。
本实施例提供的基于Docker容器的日志获取方法,通过接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息及应用程序对应的镜像,根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带应用程序对应的镜像及容器文件夹挂载参数,容器文件夹挂载参数中包括容器的身份标识码,以使宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码,对Docker容器的基本信息进行关联存储,向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,其中,在所述宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志,根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,以获取文件夹中的日志,对宿主机根目录下的所有文件夹中的日志进行解析,根据预设策略判断是否存在业务问题,若存在业务问题,则根据文件夹对应的目标地址获取Docker容器的身份标识码,并根据预存储的Docker容器的基本信息,获取Docker容器所在的宿主机信息、Docker容器所属的应用程序信息,以对业务问题进行定位,不仅能够根据目标地址中的Docker容器的身份标识码对不同Docker容器所生成的日志进行区分,而且能够通过目标地址成功地定位由哪个宿主机的容器所导致的业务问题,提高了业务问题的定位效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明基于Docker容器的日志获取装置实施例一的结构示意图,如图3所示,本实施例提供的基于Docker容器的日志获取装置包括:接收模块31、发送模块32和获取模块33。
其中,接收模块31,用于接收用户输入的容器创建指令,容器创建指令中携带宿主机的标识信息及应用程序对应的镜像。发送模块32,用于根据宿主机的标识信息,向宿主机发送容器创建指令,容器创建指令中携带应用程序对应的镜像及容器文件夹挂载参数,容器文件夹挂载参数中包括容器的身份标识码,以使宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,对应的目标地址中包括Docker容器的身份标识码。发送模块32,还用于向宿主机发送容器启动指令,以使宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,其中,在所述宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志。获取模块33,用于根据宿主机根目录对应的目标地址中的容器身份标识码从目标地址中获取Docker容器的容器根目录对应的文件夹,以获取文件夹中的日志。
本实施例提供的基于Docker容器的日志获取装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明基于Docker容器的日志获取装置实施例二的结构示意图;如图4所示,本实施例提供的基于Docker容器的日志获取装置在本发明基于Docker容器的日志获取装置实施例一的基础上,还包括:存储模块41、解析模块42和定位模块43。
进一步地,本实施例提供的基于Docker容器的日志获取装置中,文件夹中的日志包括:Docker容器日志以及Docker容器所属的应用程序日志。
进一步地,存储模块41,用于对Docker容器的基本信息进行关联存储;其中,Docker容器的基本信息包括:Docker容器的身份标识码、Docker容器所在的宿主机信息、Docker容器所属的应用程序信息。
进一步地,解析模块42,用于对每个宿主机根目录下的文件夹中的所有日志进行解析,根据预设策略判断是否存在业务问题。定位模块43,用于若存在业务问题,则根据文件夹对应的目标地址获取Docker容器的身份标识码,并根据预存储的Docker容器的基本信息,获取Docker容器所在的宿主机信息、Docker容器所属的应用程序信息,以对业务问题进行定位。
本实施例提供的基于Docker容器的日志获取装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种基于Docker容器的日志获取方法,其特征在于,包括:
接收用户输入的容器创建指令,所述容器创建指令中携带宿主机的标识信息及应用程序对应的镜像;
根据所述宿主机的标识信息,向所述宿主机发送容器创建指令,所述容器创建指令中携带所述应用程序对应的镜像及容器文件夹挂载参数,所述容器文件夹挂载参数中包括所述容器的身份标识码,以使所述宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在所述宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,所述对应的目标地址中包括Docker容器的身份标识码;
向所述宿主机发送容器启动指令,以使所述宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,其中,在所述宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志;
根据所述宿主机根目录对应的目标地址中的容器身份标识码从所述目标地址中获取所述Docker容器的容器根目录对应的文件夹,以获取所述文件夹中的日志。
2.根据权利要求1所述的方法,其特征在于,所述根据所述宿主机的标识信息,向所述宿主机发送容器创建指令之后,还包括:
对所述Docker容器的基本信息进行关联存储;
其中,所述Docker容器的基本信息包括:所述Docker容器的身份标识码、所述Docker容器所在的宿主机信息、所述Docker容器所属的应用程序信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述宿主机根目录中的容器身份标识码从所述宿主机根目录下获取所述Docker容器的容器根目录对应的文件夹,以获取所述文件夹中的日志之后,还包括:
对每个所述宿主机根目录下的文件夹中的所有日志进行解析,根据预设策略判断是否存在业务问题;
若存在业务问题,则根据所述文件夹对应的目标地址获取Docker容器的身份标识码,并根据预存储的Docker容器的基本信息,获取Docker容器所在的宿主机信息、所述Docker容器所属的应用程序信息,以对业务问题进行定位。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述文件夹中的日志包括:Docker容器日志以及Docker容器所属的应用程序日志。
5.一种基于Docker容器的日志获取装置,其特征在于,包括:
接收模块,用于接收用户输入的容器创建指令,所述容器创建指令中携带宿主机的标识信息及应用程序对应的镜像;
发送模块,用于根据所述宿主机的标识信息,向所述宿主机发送容器创建指令,所述容器创建指令中携带所述应用程序对应的镜像及容器文件夹挂载参数,所述容器文件夹挂载参数中包括所述容器的身份标识码,以使所述宿主机根据应用程序对应的镜像,创建Docker容器,并根据容器文件夹挂载参数创建容器根目录对应的文件夹,在所述宿主机上创建宿主机根目录和对应的目标地址,将容器根目录对应的文件夹挂载到宿主机根目录对应的目标地址中,所述对应的目标地址中包括Docker容器的身份标识码;
所述发送模块,还用于向所述宿主机发送容器启动指令,以使所述宿主机的Docker容器将生成的日志分类写入到容器根目录对应的文件夹中,其中,在所述宿主机根目录对应的目标地址中具有所述文件夹,在所述文件夹中具有所述生成的日志;
获取模块,用于根据所述宿主机根目录对应的目标地址中的容器身份标识码从所述目标地址中获取所述Docker容器的容器根目录对应的文件夹,以获取所述文件夹中的日志。
6.根据权利要求5所述的装置,其特征在于,还包括:
存储模块,用于对所述Docker容器的基本信息进行关联存储;其中,所述Docker容器的基本信息包括:所述Docker容器的身份标识码、所述Docker容器所在的宿主机信息、所述Docker容器所属的应用程序信息。
7.根据权利要求6所述的装置,其特征在于,还包括:
解析模块,用于对每个所述宿主机根目录下的文件夹中的所有日志进行解析,根据预设策略判断是否存在业务问题;
定位模块,用于若存在业务问题,则根据所述文件夹对应的目标地址获取Docker容器的身份标识码,并根据预存储的Docker容器的基本信息,获取Docker容器所在的宿主机信息、所述Docker容器所属的应用程序信息,以对业务问题进行定位。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述文件夹中的日志包括:Docker容器日志以及Docker容器所属的应用程序日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787072.4A CN106383852B (zh) | 2016-08-30 | 2016-08-30 | 基于Docker容器的日志获取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787072.4A CN106383852B (zh) | 2016-08-30 | 2016-08-30 | 基于Docker容器的日志获取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106383852A true CN106383852A (zh) | 2017-02-08 |
CN106383852B CN106383852B (zh) | 2019-11-05 |
Family
ID=57938784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610787072.4A Active CN106383852B (zh) | 2016-08-30 | 2016-08-30 | 基于Docker容器的日志获取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383852B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
CN106970822A (zh) * | 2017-02-20 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种容器创建方法及装置 |
CN107169016A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种应用程序日志采集方法及装置 |
CN107229509A (zh) * | 2017-06-09 | 2017-10-03 | 山东超越数控电子有限公司 | 一种飞腾平台下容器型虚拟机的创建方法 |
CN107329792A (zh) * | 2017-07-04 | 2017-11-07 | 北京奇艺世纪科技有限公司 | 一种Docker容器启动方法及装置 |
CN107426023A (zh) * | 2017-07-21 | 2017-12-01 | 携程旅游信息技术(上海)有限公司 | 云平台日志收集和转发方法、系统、设备及存储介质 |
CN107480509A (zh) * | 2017-09-22 | 2017-12-15 | 携程旅游网络技术(上海)有限公司 | 运维安全审计系统登录容器方法、系统、设备及存储介质 |
CN107634951A (zh) * | 2017-09-22 | 2018-01-26 | 携程旅游网络技术(上海)有限公司 | Docker容器安全管理方法、系统、设备及存储介质 |
CN108021428A (zh) * | 2017-12-05 | 2018-05-11 | 华迪计算机集团有限公司 | 一种基于Docker实现网络靶场的方法和系统 |
CN108153649A (zh) * | 2018-01-23 | 2018-06-12 | 北京粉笔蓝天科技有限公司 | docker容器中应用日志的获取及查看方法及其装置 |
CN108304270A (zh) * | 2017-12-12 | 2018-07-20 | 中国电子科技集团公司电子科学研究院 | 一种通信方法、设备及计算机可读存储介质 |
CN108363802A (zh) * | 2018-02-28 | 2018-08-03 | 深圳市华云中盛科技有限公司 | 基于容器的文本收集方法及其系统 |
WO2018145473A1 (zh) * | 2017-02-09 | 2018-08-16 | 联想(北京)有限公司 | 主机装置的容器运行加速方法及系统 |
CN109614341A (zh) * | 2018-12-29 | 2019-04-12 | 微梦创科网络科技(中国)有限公司 | 一种代码覆盖率的测试方法及系统 |
CN109684038A (zh) * | 2018-12-18 | 2019-04-26 | 网易(杭州)网络有限公司 | Docker服务容器日志的处理方法、装置和电子设备 |
CN109818934A (zh) * | 2018-12-29 | 2019-05-28 | 深圳前海达闼云端智能科技有限公司 | 一种自动化日志处理的方法、装置及计算设备 |
CN110413436A (zh) * | 2019-07-18 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种故障处理方法及装置 |
CN110688201A (zh) * | 2019-09-29 | 2020-01-14 | 重庆小雨点小额贷款有限公司 | 一种日志管理方法及相关设备 |
CN110704378A (zh) * | 2019-09-30 | 2020-01-17 | 珠海港联科技有限公司 | 日志记录方法及日志记录系统 |
CN110704376A (zh) * | 2019-09-04 | 2020-01-17 | 广东浪潮大数据研究有限公司 | 日志文件保存方法及装置 |
CN110955578A (zh) * | 2019-11-26 | 2020-04-03 | 深圳市信联征信有限公司 | 基于宿主机的日志收集方法、装置、计算机设备及存储介质 |
CN111367615A (zh) * | 2018-12-26 | 2020-07-03 | 卓望数码技术(深圳)有限公司 | 方便容器实例调度的方法、装置、设备及存储介质 |
CN111580927A (zh) * | 2020-04-02 | 2020-08-25 | 武汉旷视金智科技有限公司 | 通信的方法及容器通信系统 |
CN112527418A (zh) * | 2020-12-11 | 2021-03-19 | 杭州安恒信息技术股份有限公司 | 一种npm包获取方法、装置、电子设备和存储介质 |
CN112564979A (zh) * | 2020-12-17 | 2021-03-26 | 金蝶软件(中国)有限公司 | 构建任务的执行方法、装置、计算机设备和存储介质 |
CN112905537A (zh) * | 2021-02-20 | 2021-06-04 | 北京百度网讯科技有限公司 | 文件处理方法、装置、电子设备和存储介质 |
CN113568708A (zh) * | 2021-07-29 | 2021-10-29 | 马上消费金融股份有限公司 | 平台创建方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049546A (zh) * | 2012-12-27 | 2013-04-17 | 华为技术有限公司 | 一种管理、访问系统日志的方法和装置 |
-
2016
- 2016-08-30 CN CN201610787072.4A patent/CN106383852B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049546A (zh) * | 2012-12-27 | 2013-04-17 | 华为技术有限公司 | 一种管理、访问系统日志的方法和装置 |
Non-Patent Citations (1)
Title |
---|
仇臣: "docker容器的性能监控和日志服务的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018145473A1 (zh) * | 2017-02-09 | 2018-08-16 | 联想(北京)有限公司 | 主机装置的容器运行加速方法及系统 |
CN106970822A (zh) * | 2017-02-20 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种容器创建方法及装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
CN107169016A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种应用程序日志采集方法及装置 |
CN107169016B (zh) * | 2017-03-31 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 一种应用程序日志采集方法及装置 |
CN107229509A (zh) * | 2017-06-09 | 2017-10-03 | 山东超越数控电子有限公司 | 一种飞腾平台下容器型虚拟机的创建方法 |
CN107329792A (zh) * | 2017-07-04 | 2017-11-07 | 北京奇艺世纪科技有限公司 | 一种Docker容器启动方法及装置 |
CN107329792B (zh) * | 2017-07-04 | 2020-05-22 | 北京奇艺世纪科技有限公司 | 一种Docker容器启动方法及装置 |
CN107426023A (zh) * | 2017-07-21 | 2017-12-01 | 携程旅游信息技术(上海)有限公司 | 云平台日志收集和转发方法、系统、设备及存储介质 |
CN107426023B (zh) * | 2017-07-21 | 2020-05-29 | 携程旅游信息技术(上海)有限公司 | 云平台日志收集和转发方法、系统、设备及存储介质 |
CN107634951A (zh) * | 2017-09-22 | 2018-01-26 | 携程旅游网络技术(上海)有限公司 | Docker容器安全管理方法、系统、设备及存储介质 |
CN107480509A (zh) * | 2017-09-22 | 2017-12-15 | 携程旅游网络技术(上海)有限公司 | 运维安全审计系统登录容器方法、系统、设备及存储介质 |
CN108021428A (zh) * | 2017-12-05 | 2018-05-11 | 华迪计算机集团有限公司 | 一种基于Docker实现网络靶场的方法和系统 |
CN108304270A (zh) * | 2017-12-12 | 2018-07-20 | 中国电子科技集团公司电子科学研究院 | 一种通信方法、设备及计算机可读存储介质 |
CN108304270B (zh) * | 2017-12-12 | 2022-05-17 | 中国电子科技集团公司电子科学研究院 | 一种通信方法、设备及计算机可读存储介质 |
CN108153649A (zh) * | 2018-01-23 | 2018-06-12 | 北京粉笔蓝天科技有限公司 | docker容器中应用日志的获取及查看方法及其装置 |
CN108363802B (zh) * | 2018-02-28 | 2021-10-29 | 深圳市华云中盛科技股份有限公司 | 基于容器的文本收集方法及其系统 |
CN108363802A (zh) * | 2018-02-28 | 2018-08-03 | 深圳市华云中盛科技有限公司 | 基于容器的文本收集方法及其系统 |
CN109684038A (zh) * | 2018-12-18 | 2019-04-26 | 网易(杭州)网络有限公司 | Docker服务容器日志的处理方法、装置和电子设备 |
CN111367615A (zh) * | 2018-12-26 | 2020-07-03 | 卓望数码技术(深圳)有限公司 | 方便容器实例调度的方法、装置、设备及存储介质 |
CN111367615B (zh) * | 2018-12-26 | 2023-08-18 | 卓望数码技术(深圳)有限公司 | 方便容器实例调度的方法、装置、设备及存储介质 |
CN109614341A (zh) * | 2018-12-29 | 2019-04-12 | 微梦创科网络科技(中国)有限公司 | 一种代码覆盖率的测试方法及系统 |
CN109818934B (zh) * | 2018-12-29 | 2021-10-22 | 达闼机器人有限公司 | 一种自动化日志处理的方法、装置及计算设备 |
CN109818934A (zh) * | 2018-12-29 | 2019-05-28 | 深圳前海达闼云端智能科技有限公司 | 一种自动化日志处理的方法、装置及计算设备 |
CN110413436B (zh) * | 2019-07-18 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 一种故障处理方法及装置 |
CN110413436A (zh) * | 2019-07-18 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种故障处理方法及装置 |
CN110704376A (zh) * | 2019-09-04 | 2020-01-17 | 广东浪潮大数据研究有限公司 | 日志文件保存方法及装置 |
CN110688201A (zh) * | 2019-09-29 | 2020-01-14 | 重庆小雨点小额贷款有限公司 | 一种日志管理方法及相关设备 |
CN110688201B (zh) * | 2019-09-29 | 2022-06-28 | 重庆小雨点小额贷款有限公司 | 一种日志管理方法及相关设备 |
CN110704378A (zh) * | 2019-09-30 | 2020-01-17 | 珠海港联科技有限公司 | 日志记录方法及日志记录系统 |
CN110955578A (zh) * | 2019-11-26 | 2020-04-03 | 深圳市信联征信有限公司 | 基于宿主机的日志收集方法、装置、计算机设备及存储介质 |
CN111580927A (zh) * | 2020-04-02 | 2020-08-25 | 武汉旷视金智科技有限公司 | 通信的方法及容器通信系统 |
CN111580927B (zh) * | 2020-04-02 | 2024-03-19 | 武汉旷视金智科技有限公司 | 通信的方法及容器通信系统 |
CN112527418A (zh) * | 2020-12-11 | 2021-03-19 | 杭州安恒信息技术股份有限公司 | 一种npm包获取方法、装置、电子设备和存储介质 |
CN112564979A (zh) * | 2020-12-17 | 2021-03-26 | 金蝶软件(中国)有限公司 | 构建任务的执行方法、装置、计算机设备和存储介质 |
CN112564979B (zh) * | 2020-12-17 | 2023-10-13 | 金蝶软件(中国)有限公司 | 构建任务的执行方法、装置、计算机设备和存储介质 |
CN112905537A (zh) * | 2021-02-20 | 2021-06-04 | 北京百度网讯科技有限公司 | 文件处理方法、装置、电子设备和存储介质 |
CN112905537B (zh) * | 2021-02-20 | 2022-09-02 | 北京百度网讯科技有限公司 | 文件处理方法、装置、电子设备和存储介质 |
CN113568708B (zh) * | 2021-07-29 | 2022-10-04 | 马上消费金融股份有限公司 | 平台创建方法、装置及设备 |
CN113568708A (zh) * | 2021-07-29 | 2021-10-29 | 马上消费金融股份有限公司 | 平台创建方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106383852B (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106383852A (zh) | 基于Docker容器的日志获取方法和装置 | |
JP6756079B2 (ja) | 人工知能に基づく三元組チェック方法、装置及びコンピュータプログラム | |
CN107870860A (zh) | 埋点验证系统及方法 | |
RU2008126264A (ru) | Объектная модель потока операции | |
CN104268473B (zh) | 应用程序检测方法和装置 | |
CN109271793A (zh) | 物联网云平台设备类别识别方法及系统 | |
CN108776651A (zh) | Pdf文件的批注处理方法及系统 | |
CN109145231A (zh) | 一种界面元素标识符的生成方法、装置以及电子设备 | |
CN107392436A (zh) | 一种提取企业关联关系信息的方法和装置 | |
CN114610951A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN106557300A (zh) | 一种野指针的函数栈信息确定方法、装置及电子设备 | |
CN103326930B (zh) | 开放平台接口自动巡检方法和系统 | |
US11899770B2 (en) | Verification method and apparatus, and computer readable storage medium | |
CN112162925A (zh) | 一种基于服务虚拟化的测试方法和系统 | |
US10657326B2 (en) | Removable spell checker device | |
CN109460365B (zh) | 一种系统性能测试方法、装置、设备及存储介质 | |
CN112750038A (zh) | 交易风险的确定方法、装置和服务器 | |
CN107368351A (zh) | 一种虚拟机配置自动升级扩容方法和装置 | |
CN107086960A (zh) | 一种报文传输方法和装置 | |
CN107273401A (zh) | 应用程序数据文件的管理方法、移动设备及存储装置 | |
CN105468527B (zh) | 一种应用中组件的测试方法及装置 | |
CN106598983A (zh) | 信息显示方法及装置 | |
CN102760130A (zh) | 处理信息的方法和装置 | |
CN110162729A (zh) | 建立浏览器指纹以及识别浏览器类型的方法、装置 | |
CN105791888A (zh) | 一种视频分析的方法及装置 |
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 |