WO2019095936A1 - 容器镜像的构建方法、系统、服务器、装置及存储介质 - Google Patents

容器镜像的构建方法、系统、服务器、装置及存储介质 Download PDF

Info

Publication number
WO2019095936A1
WO2019095936A1 PCT/CN2018/111273 CN2018111273W WO2019095936A1 WO 2019095936 A1 WO2019095936 A1 WO 2019095936A1 CN 2018111273 W CN2018111273 W CN 2018111273W WO 2019095936 A1 WO2019095936 A1 WO 2019095936A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
server
application
code
construction
Prior art date
Application number
PCT/CN2018/111273
Other languages
English (en)
French (fr)
Inventor
陈浪交
邹辉
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2019095936A1 publication Critical patent/WO2019095936A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present application relates to the field of Internet technologies, and in particular, to a method, system, server, device, and storage medium for constructing a container image.
  • a container image is a special file system that is standardized and encapsulated by the application's code and its operating environment. The file system can be run directly on any operating system with a container installed.
  • a container is a unified platform for building, distributing, and running applications for automated installation, deployment, and upgrade of applications. Because the container image provides the various resources required for the container to run, it is the basis for the container to run. Therefore, before the application is automatically deployed based on the container technology, the container image of the application needs to be built.
  • constructing a container image the following methods are mainly used: receiving a mirror build instruction sent by a user, acquiring an application code based on a mirror build instruction, creating a container build task, building a container of the application based on the container build task, and constructing the container of the application;
  • the resource for constructing the container image including the code of the application, is compiled to obtain the container image of the application;
  • the image uploading instruction sent by the user is received, and the constructed container image is uploaded based on the image uploading instruction.
  • the mirror server To the mirror server.
  • the construction process of the above container image is not intelligent because the user intervention is required.
  • the embodiment of the present application provides a method, a system, a server, a device, and a storage medium for constructing a container image.
  • the technical solution is as follows:
  • a method for constructing a container image is provided, the method being applied to a container image construction system, the container image construction system comprising a code warehouse server, a mirror construction logic server, a container server, and a container mirror server, the method comprising :
  • the code repository server sends a mirror build instruction to the mirror build logic server, the mirror build instruction including the first authorization certificate and the attribute information of the updated application;
  • the mirroring construction logic server creates a container construction task according to the attribute information of the updated application, and acquires a second authorization certificate;
  • the container server constructs a container of the application by calling the container construction task, and obtains the first authorization certificate from the image construction logic server, according to the first authorization certificate, from the code warehouse In the server, obtaining the code of the application update;
  • the container server compiles the code updated by the application in the container, obtains a container image of the application, and uploads the container image to the container mirror server according to the second authorization certificate. .
  • a method of constructing a container image comprising:
  • the container image build server When the code update of the application is detected, the container image build server generates a mirror build instruction, the image build instruction including the first authorization certificate and the attribute information of the updated application;
  • the container image construction server creates a container construction task according to the attribute information of the updated application, and acquires a second authorization certificate;
  • the container image construction server builds a container of the application according to the container construction task, and acquires the code of the application update according to the first authorization certificate;
  • the container image construction server compiles the code of the application update in the container, obtains a container image of the application, and uploads the container image to the container mirror server according to the second authorization certificate. .
  • a container image construction system comprising a code warehouse server, a mirror build logic server, a container server, and a container mirror server;
  • the code repository server is configured to send a mirror build instruction to the mirror build logic server when the code update of the application is detected, where the mirror build instruction includes the first authorization certificate and the attribute information of the updated application. ;
  • the mirroring construction logical server is configured to create a container construction task according to the attribute information of the updated application, and obtain a second authorization certificate;
  • the container server is configured to construct a container of the application by calling the container construction task, and obtain the first authorization certificate from the image construction logic server, according to the first authorization certificate, In the code repository server, obtaining the code of the application update;
  • the container server configured to compile code of the application update in the container, obtain a container image of the application, and upload the container image to the Container mirror server.
  • a container image construction apparatus comprising:
  • An instruction generation module configured to generate a mirror build instruction when the code update of the application is detected, where the image build instruction includes the first authorization certificate and the attribute information of the updated application;
  • a task creation module configured to create a container construction task according to the attribute information of the updated application
  • a certificate obtaining module configured to obtain a second authorization certificate
  • a container building module configured to build a container of the application according to the container construction task
  • a code obtaining module configured to acquire, according to the first authorization certificate, a code that is updated by the application
  • a code compiling module configured to compile code updated by the application in the container, to obtain a container image of the application
  • the image uploading module is configured to upload the container image to the container mirroring server according to the second authorization certificate.
  • a container image construction server including at least one processor, a memory for storing at least one instruction, at least one program, a code set, or a set of instructions, the at least An instruction, the at least one program, the set of codes, or a set of instructions is loaded by the processor and performs the following operations:
  • the image build instruction including the first authorization certificate and the attribute information of the updated application
  • Compiling the code of the application update in the container obtaining a container image of the application, and uploading the container image to the container mirror server according to the second authorization certificate.
  • a computer readable storage medium having stored therein at least one instruction, at least one program, a code set, or a set of instructions, the at least one instruction, the at least one program, the code A set or set of instructions that are loaded and executed by a processor to implement a container image.
  • the container image build process is automatically triggered, and after the container image is built, the built container image is automatically uploaded to the container mirror server.
  • the build process is smarter because the entire process requires no user intervention.
  • 1 is an implementation environment involved in a method for constructing a container image provided by an embodiment of the present application
  • FIG. 2 is a deployment architecture diagram of a mirroring logical server and a container server provided by an embodiment of the present application
  • FIG. 3 is an implementation environment involved in a method for constructing another container image according to an embodiment of the present application
  • FIG. 4 is a flowchart of a method for constructing a container image according to an embodiment of the present application
  • FIG. 5 is a schematic diagram of a process of constructing a container image according to an embodiment of the present application.
  • FIG. 6 is a flowchart of another method for constructing a container image provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a container image construction system according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of another container image construction system according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a device for constructing a container image according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of another apparatus for constructing a container image according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of another apparatus for constructing a container image according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of another apparatus for constructing a container image according to an embodiment of the present application.
  • FIG. 13 is a diagram of a server for the construction of a container image, according to an exemplary embodiment.
  • Docker is an open source application container engine that provides an automated deployment solution for applications by creating a container (a container is a lightweight virtual machine) on the operating system and deploying and running the application's container in the container. Mirroring enables automated installation, deployment, and upgrade of applications. Docker can virtualize at least two containers. Since each container is independent of each other and has no interface, it can separate each other's development environment from the operating environment. The emergence of container technology enables flexible deployment and management of traditional applications, especially web-based browser/server applications, while also enabling resource isolation and restriction, meeting the rapid deployment and diversification of applications. Demand.
  • Container mirroring is a special file system. In addition to providing the code, database, and configuration parameters of the application required for the container to run, it also provides some configuration parameters for the runtime, such as anonymous volumes, environment variables, users, etc. .
  • a container image is a static resource that does not contain any dynamic data, and its contents are not changed after it is built.
  • the container image is typically stored on a disk or mirror server.
  • a container is a dynamic resource and is actually an application created from a container image.
  • the existing container image construction method requires the user to manually generate the mirror construction instruction and the image upload instruction.
  • the entire build process requires user triggering, and the build process is not smart; on the other hand, the container image build generally depends on external resources, for example, pulling the application code from github, from the package installation server. Download the installation package, etc., and most of the user's virtual machines do not have an external network IP (Internet Protocol), and cannot access the external network. Even if the user's virtual machine has an external network IP, it can access the external network, but when it is local and external. When the distance between resources is long, the access to external resources will be slow, resulting in a long build time of the container image, and even the build fails.
  • IP Internet Protocol
  • the embodiment of the present application provides a method for constructing a container image, which automatically triggers a container mirror construction task when detecting an application code update, in the container image construction process.
  • external network resources When external network resources are needed, external resources can be quickly obtained through distributed container servers to ensure the smooth progress of the build process.
  • the container image build is complete, the built container image is automatically uploaded to the container mirror server.
  • FIG. 1 is an implementation environment involved in a method for constructing a container image provided by an embodiment of the present application.
  • the implementation environment includes a terminal 101, a code warehouse server 102, a mirror construction logical server 103, and an index server 104.
  • the container server 105 and the container mirror server 106 are included in a terminal 101, a code warehouse server 102, a mirror construction logical server 103, and an index server 104.
  • the terminal 101 is a device used by the user to compile the code of the application.
  • the terminal 101 may be a notebook computer, a desktop computer, a tablet computer, or the like.
  • the embodiment of the present application does not specifically limit the product type of the terminal 101.
  • the code repository server 102 has at least one code repository mainly for storing code of an application sent by the terminal 101, and a user-preset build rule, etc., which indicates a code repository and a mirror when the container image is built. Name and so on.
  • the code repository server 102 can be represented by a Git Server.
  • the mirror build logic server 103 is mainly used for parsing the mirror build instructions, distributing the build tasks, querying the mirror build logs, and the like.
  • the mirror construction logic server 103 can be represented by a CI-Server.
  • the index server 104 is mainly used to store the correspondence between the attribute information of the application and the second authorization certificate.
  • the index server 104 can be represented by Index.
  • the container server 105 is a server cluster, and the servers included therein are distributed throughout.
  • the container server 105 is mainly used to process execution container construction tasks, and each container construction task is executed as a container.
  • the container server 105 can be represented by a Kubernetes cluster.
  • the container mirror server 106 is primarily used to store the constructed container image.
  • the container mirror server 106 can be represented by the Qcloud Registry.
  • the mirroring construction logical server 103 and the container mirroring server 106 have the same operating environment, both of which are internal network operating environments.
  • the operating environment of the Kubernetes cluster (container server 105) is a private cloud running environment, and the access portal of the Kubernetes cluster is provided with an intranet virtual IP, and the mirror-oriented building logical server 103 can simulate the inner network running environment, thereby being able to construct the logical server 103 with the mirror.
  • the Kubernetes cluster is also equipped with a VPC (Virtual Private Cloud), which can obtain external network image services such as Java and nodejs, and external network software packages such as Yum and apt-get.
  • VPC Virtual Private Cloud
  • the mirroring construction logical server only needs to perform the analysis of the mirroring construction instructions, the distribution operation of the mirroring construction tasks, and the like, the CPU (Central Processing Unit), memory, IO (Input/Output, input and output) and other resources occupied by these operations. It is extremely small, so you can use a mirror to build a logical server for independent deployment.
  • the mirror build task consumes a lot of resources such as CPU, memory, and IO, and needs to be distributed in a cluster.
  • the mirror build logical server and the container server can be deployed separately.
  • the kubernetes container cluster is used as the container server to perform the mirror build task.
  • kubernetes is a stable and open source container cluster
  • the mirroring task can be scheduled to run on a suitable server in the cluster according to resources such as CPU and memory, so that the resources in the entire cluster are fully utilized. Therefore, the present application implements
  • a kubernetes container cluster can be used as a container server to perform image build tasks.
  • the network of the container server (Kubernetes cluster) is isolated from the network of the mirror construction logical server (CI-Server).
  • the intranet Virtual IP is set in the access portal of the container server (kubernetes cluster).
  • the mirroring logical server (CI-Server) in the operating environment can communicate with the Kubernetes cluster of the external network, which not only ensures that the CI-Server can be Kubernetes.
  • Cluster scheduling, and CI-Server can access the mirroring log of the container image construction process by accessing the mirroring task interface of the Kubernetes cluster.
  • FIG. 3 is an implementation environment involved in the method for constructing a container image provided by the embodiment of the present application.
  • the implementation environment includes: a terminal 301, a container mirror construction server 302, and a container mirror server 303.
  • the terminal 301 has the same product type and function as the terminal 101 in FIG. 1, and details are not described herein again.
  • the container image construction server 302 has all the functions of the code warehouse server 102, the image construction logic server 103, the index server 104, and the container server 105 in FIG. 1, and specifically refers to the code warehouse server 102, the image construction logic server 103, and the index server in FIG. 104.
  • the description of the container server 105 will not be repeated here.
  • the container mirror server 303 has all the functions of the container mirror server 106 in FIG. 1 . For details, refer to the description of the container mirror server 106 in FIG. 1 , and details are not described herein again.
  • the embodiment of the present application provides a method for constructing a container image, which is applied to a container image construction system, which includes a code warehouse server, a mirror construction logic server, a container server, and The container mirroring server, as shown in FIG. 4, the method for constructing a container image provided by the embodiment of the present application includes:
  • the code repository server sends a mirror build instruction to the mirror build logical server.
  • the scenario of the code update of the application includes, but is not limited to, the following two types:
  • the application developer in order to meet the user's use requirements, can develop an application with new functions, and then upload the code of the developed application to the code repository server through the terminal.
  • the code repository server in the embodiment of the present application has a code detection function, which can scan the code of the stored application in real time. For any stored application, when the code of the application is detected to be modified, the code update of the application can be determined; for the unsaved application, when the code of the new application is detected, the application can be determined The code of the program is updated.
  • the code repository server includes at least one code repository, each code repository having a unique address that can be used to store code for an application.
  • the code repository server establishes the correspondence between the address of the code repository and each application by detecting the user's setup operations. Based on the correspondence, when receiving the code of the application uploaded by the terminal, the code repository server can store the code of the application into the corresponding code repository.
  • the code warehouse server also stores a preset rule set by the user, which indicates the address between the code warehouse, the container image name, and the mirror construction logical server. Correspondence relationship. Based on the stored build rules, when a code update of the application is detected, the code repository server can construct a hook function that is used to trigger the code repository server to send a mirror build instruction to the mirror build logical server.
  • the image construction instruction includes a first authorization certificate, attribute information of the updated application, and the like.
  • the first authorization certificate is used to authorize the container server, so that the container server can read the code of the application stored in the code repository server during the process of automatically constructing the container image, and the first authorization certificate may be one Token.
  • the updated application's attribute information includes the name of the application, the address of the code repository, the external resource address required to build the container image, and so on.
  • the image build logic server creates a container build task according to the updated attribute information of the application, and obtains a second authorization certificate.
  • the mirror build logic server parses the mirror build instruction according to the agreed communication protocol, and obtains the first authorization certificate, the attribute information of the updated application, and the like. Based on the obtained updated property information of the application, the mirror build logical server creates a container build task indicating the address of the code repository, the runtime environment, the resource address of the required external resource, configuration parameters, and the like.
  • the container image construction system further includes an index server, where the index server stores a correspondence between the attribute information of the application and the second authorization certificate. Based on the correspondence between the stored attribute information of the application and the second authorization certificate, when the mirror build logic server parses the mirror build instruction and obtains the attribute information of the updated application, the mirror build logical server may be from the index server. And obtaining a second authorization certificate corresponding to the attribute information of the updated application, where the second authorization certificate is used to authorize the container server, so that the container server can log in to the container mirror server, and upload the constructed container image to the container.
  • the mirror server, the second authorization certificate can be a token.
  • the container server builds a container of the application by calling a container build task, and obtains code of the application update from the code repository server according to the first authorization certificate.
  • the container server can invoke the container construction task created by the mirror construction logic server.
  • the container server can construct a container of the application, which is a production environment of the container image.
  • the container server communicates with the mirror construction logical server, obtains the first authorization certificate from the mirror construction logic server, and obtains the access authority to the code warehouse server according to the first authorization certificate, and then according to the address of the code warehouse, In the code repository server, get the code for the application update.
  • the container server compiles the code of the application update in the container, obtains a container image of the application, and uploads the container image to the container mirror server according to the second authorization certificate.
  • the container server can directly update the code of the application in the container. Compile to get the container image of the application.
  • the container server may be externally indicated according to the container build task.
  • the external resource address of the resource obtain the corresponding external resource, and then compile the code and external resources of the application update in the container to obtain the mirror container. Since multiple servers included in the container server are connected through a private network, the required external resources can be quickly obtained, which not only ensures that the container image can be successfully built, but also greatly shortens the construction time and improves the construction efficiency.
  • the mirror building logical server can delete the container building task and send the container to the container server.
  • the delete instruction when receiving the container delete instruction sent by the container server, the container server deletes the created container, and then releases the resources occupied by the container.
  • the container server also caches the mirror construction log during the process of constructing the container image.
  • the mirror build logical server can obtain the mirrored build log cached in the container server every preset period, and save the mirror build log in the database to trace the developer of the application program.
  • the preset period is determined according to the processing capability of the mirror construction server, and may be 1 hour, 2 hours, or the like.
  • the developer traces the build process of the container image by knowing the build progress of the container image at different times, the memory footprint of the container image during the build process, the functions called, and so on.
  • FIG. 5 shows a process of constructing a container image by using the method provided by the embodiment of the present application, and the process is as follows:
  • the developer of the application sends the code of the application update to the code repository server through the terminal.
  • the code repository server configures a hook function to trigger the generation of the mirror build instruction, and then sends the mirror build instruction to the mirror build logic server.
  • the mirror build logic server parses the mirror build instruction to obtain the first authorization certificate and the attribute information of the updated application.
  • the mirror construction logical server Based on the updated attribute information of the application, creates a container construction task, and obtains a corresponding second authorization certificate from the index server.
  • the container server (Kubernetes cluster) creates a container for the application by calling the container build task.
  • the container server obtains the access right to the warehouse server according to the first authorization certificate, and then obtains the code of the application update from the warehouse server.
  • the container server compiles the code of the application update in the container to get the container image.
  • the container server uploads the constructed container image to the container mirror server.
  • the method provided by the embodiment of the present application automatically triggers the container image construction process when the code update of the application is detected, and automatically uploads the constructed container image to the container mirror server after the container image is completed.
  • the build process is smarter because the entire process requires no user intervention.
  • the container server provided by the embodiment of the present application can obtain the external network resource by communicating with the external network, which not only ensures the success rate of the container image, but also improves the construction efficiency of the container image.
  • the embodiment of the present application provides a method for constructing a container image.
  • the container image construction server is used as an example.
  • the container image is provided in the embodiment of the present application.
  • the method flow includes:
  • the container image build server When the code update of the application is detected, the container image build server generates a mirror build instruction.
  • the scenario of the code update of the application includes, but is not limited to, the following two types:
  • the application developer can develop an application with new functions, and then upload the code of the developed application to the container image construction server through the terminal.
  • the container image construction server in the embodiment of the present application has a code detection function, and can scan the code of the stored application in real time. For any stored application, when the code of the application is detected to be modified, the code update of the application can be determined; for the unsaved application, when the code of the new application is detected, the application can be determined The code of the program is updated.
  • the container image construction server needs to store the code of multiple applications, in order to facilitate the code of the stored application.
  • the container image build server includes at least one code repository, each code store having a unique address that can be used to store code for an application.
  • the container image build server can establish the correspondence between the address of the code warehouse and each application by detecting the user's setting operation. Based on the correspondence, when the code of the application uploaded by the terminal is received, the container image construction server can store the code of the application in the corresponding code repository.
  • the container image construction server also stores a preset rule set by the user, which indicates the address of the code warehouse, the container image name, and the mirror construction logical server. Correspondence. Based on the stored build rules, when a code update of the application is detected, the container image build server can construct a hook function that is used to trigger the generation of the mirror build instruction.
  • the image construction instruction includes a first authorization certificate, attribute information of the updated application, and the like. Specifically, the first authorization certificate is used to perform an access authorization to read the code of the stored application during the process of automatically building the container image, and the first authorization certificate may be a token.
  • the updated application's attribute information includes the name of the application, the address of the code repository, the external resource address required to build the container image, and so on.
  • the container image construction server creates a container construction task according to the attribute information of the updated application, and obtains a second authorization certificate.
  • the container image construction server parses the image construction instruction according to the agreed communication protocol, and obtains the first authorization certificate, the attribute information of the updated application, and the like. Based on the attribute information of the resulting updated application, the container image build server creates a container build task that indicates the address of the code store, the runtime environment, the resource address of the required external resource, configuration parameters, and the like.
  • the container image construction server maintains an index database, where the index database stores a correspondence between the attribute information of the application and the second authorization certificate.
  • the container mirroring construction server may obtain a second authorization certificate corresponding to the attribute information of the updated application, where the second authorization certificate is used, based on the correspondence between the attribute information of the application stored in the index database and the second authorization certificate.
  • Authorize access so that the container image build server can log in to the container mirror server and upload the built container image to the container mirror server.
  • the second authorization certificate can be a token.
  • the container image construction server builds a container of the application according to the container construction task, and acquires the code of the application update according to the first authorization certificate.
  • the container image construction server may construct a container of the application according to the container construction task, and the container is a production environment of the container image.
  • the container image build server obtains the code of the application update from the code repository according to the first authorization certificate.
  • the container image construction server compiles the code of the application update in the container, obtains the container image of the application, and uploads the container image to the container mirror server according to the second authorization certificate.
  • the container image build server can update the application directly in the container.
  • the code is compiled to get the container image of the application.
  • the container mirror build server may be instructed according to the container build task.
  • the external resource address of the external resource obtain the corresponding external resource, and then compile the code and external resources of the application update in the container, thereby obtaining the mirror container. Since the container mirroring build server includes multiple servers connected to the container image through a private network, it can quickly obtain the required external resources, which not only ensures the container image can be successfully built, but also greatly shortens the build time. , improve the efficiency of construction.
  • the container image construction server can delete the container construction task and delete the created container. Release the resources occupied by the container.
  • the container image construction server also caches the image construction log during the process of building the container image, and the image construction log can be used by the application developer to trace the container image construction process.
  • the developer traces the build process of the container image by knowing the build progress of the container image at different times, the memory footprint of the container image during the build process, the functions called, and so on.
  • the method provided by the embodiment of the present application automatically triggers the container image construction process when the code update of the application is detected, and automatically uploads the constructed container image to the container mirror server after the container image is completed.
  • the build process is smarter because the entire process requires no user intervention.
  • the container server provided by the embodiment of the present application can obtain the external network resource by communicating with the external network, which not only ensures the success rate of the container image, but also improves the construction efficiency of the container image.
  • an embodiment of the present application provides a container image construction system, which includes a code warehouse server 701, a mirror build logic server 702, a container server 703, and a container mirror server 704.
  • the code repository server 701 is configured to, when detecting the code update of the application, send a mirror build instruction to the mirror build logic server 702, where the mirror build instruction includes the first authorization certificate and the attribute information of the updated application;
  • a mirroring construction logic server 702 configured to create a container construction task according to the attribute information of the updated application, and obtain a second authorization certificate;
  • the container server 703 is configured to: build a container of the application by calling the container build task, and obtain a first authorization certificate from the mirror build logic server, and obtain the code of the application update from the code repository server 701 according to the first authorization certificate. ;
  • the container server 703 is configured to compile the code of the application update in the container, obtain a container image of the application, and upload the container image to the container mirror server 704 according to the second authorization certificate.
  • the code repository server 701 is configured to construct a hook function for triggering the code repository server 701 to send a mirrored build to the mirror build logic server 702 when detecting a code update of the application. instruction.
  • the container image construction system further includes an index server 705;
  • the image construction logic server 702 is further configured to obtain, from the index server 705, a second authorization certificate corresponding to the attribute information of the updated application, where the index server 705 stores the attribute information between the application and the second authorization certificate. Correspondence relationship.
  • the mirror build logic server 702 is further configured to obtain a mirror build log cached in the container server 703, and the mirror build log is used to mirror the build process of the logical server 702 to trace the container image.
  • the mirroring construction logical server is further configured to delete the container construction task when detecting that the container image construction is completed, and send a container deletion instruction to the container server 703, the container deletion instruction being used for the container server 703 delete the container.
  • the container build task indicates an external resource address of an external resource used to build the container image
  • the container server 703 is further configured to acquire a corresponding external resource according to the external resource address.
  • the container server 703 is further configured to compile the code and external resources of the application update in the container to obtain a mirror container.
  • the code repository server 701 in the embodiment of the present application is the same as the code repository server 102 in FIG. 1 and has all the functions of the code repository server 102 in FIG. 1; the image construction logic server 702 in the embodiment of the present application.
  • the container server 703 in the embodiment of the present application is the same as the container server 105 in FIG. 1 , and has the
  • the container mirror server 704 in the embodiment of the present application is the same as the container mirror server 106 in FIG. 1 and has all the functions of the container mirror server 106 in FIG.
  • the system provided by the embodiment of the present application automatically triggers the container image construction process when detecting the code update of the application, and automatically uploads the constructed container image to the container image after the container image is completed. server.
  • the build process is smarter because the entire process requires no user intervention.
  • an embodiment of the present application provides a container image construction apparatus, which has all the functions of the container image construction server 302 of FIG. 3.
  • the apparatus includes:
  • the instruction generation module 901 is configured to generate, when the code update of the application is detected, a mirror construction instruction, where the image construction instruction includes the first authorization certificate and the attribute information of the updated application;
  • a task creation module 902 configured to create a container construction task according to the attribute information of the updated application
  • the certificate obtaining module 903 is configured to obtain a second authorization certificate.
  • a container building module 904 configured to build a container of the application according to the container construction task
  • the code obtaining module 905 is configured to obtain, according to the first authorization certificate, a code that is updated by the application;
  • the code compiling module 906 is configured to compile the code updated by the application in the container to obtain a container image of the application;
  • the image uploading module 907 is configured to upload the container image to the container mirroring server according to the second authorization certificate.
  • the apparatus further includes:
  • the function constructing module 908 is configured to construct a hook function for triggering the generation of the mirror build instruction when the code update of the application is detected.
  • the certificate obtaining module 903 is configured to obtain, from the index database, a second authorization certificate corresponding to the attribute information of the updated application, where the attribute information of the application is stored in the index database. The correspondence between the two authorization certificates.
  • the apparatus further includes:
  • the log cache module 909 is configured to cache the mirror build log, and the mirror build log is used to trace the build process of the container image.
  • the apparatus further includes:
  • the delete module 910 is configured to delete the container build task and delete the container when it is detected that the container image build is completed.
  • the container build task indicates an external resource address of an external resource used to build the container image
  • the code obtaining module 905 is further configured to acquire a corresponding external resource according to the external resource address;
  • the code compiling module 906 is further configured to compile the code and external resources of the application update in the container to obtain a mirror container.
  • the device provided by the embodiment of the present application automatically triggers the container image construction process when the code of the application is detected, and automatically uploads the constructed container image to the container mirror server after the container image is completed.
  • the build process is smarter because the entire process requires no user intervention.
  • FIG. 13 is a diagram of a server for the construction of a container image, according to an exemplary embodiment.
  • server 1300 includes a processing component 1322 that further includes one or more processors, and memory resources represented by memory 1332 for storing instructions executable by processing component 1322, such as an application.
  • the application stored in memory 1332 may include one or more modules each corresponding to a set of instructions.
  • the processing component 1322 is configured to execute instructions to perform the functions performed by the server in the method of constructing the container image shown in FIG. 4 or FIG. 6 above.
  • Server 1300 can also include a power component 1326 configured to perform power management of server 1300, a wired or wireless network interface 1350 configured to connect server 1300 to the network, and an input/output (I/O) interface 1358.
  • Server 1300 can operate based operating system stored in memory 1332, for example, Windows Server TM, Mac OS X TM , Unix TM, Linux TM, FreeBSD TM or similar.
  • the server provided by the embodiment of the present application automatically triggers the container image construction process when detecting the code update of the application, and automatically uploads the constructed container image to the container mirror server after the container image is completed.
  • the build process is smarter because the entire process requires no user intervention.
  • the embodiment of the present application provides a computer readable storage medium, where the storage medium stores at least one instruction, at least one program, a code set, or a set of instructions, the at least one instruction, the at least one program, and the code.
  • the set or the set of instructions is loaded and executed by the processor to implement the container image construction method shown in FIG. 4, or to implement the container image construction method shown in FIG. 6.
  • the computer readable storage medium provided by the embodiment of the present application automatically triggers the container image construction process when detecting the code update of the application, and automatically uploads the constructed container image to the container mirror server after the container image is completed. .
  • the build process is smarter because the entire process requires no user intervention.
  • the container image construction system, the container image construction device, and the container image construction server provided by the embodiment of the present application are only illustrated by the division of the above functional modules when constructing the container image.
  • the above function assignment is completed by different functional modules as needed, that is, the internal structure of the container image construction system, the container image construction device, and the container image construction server are divided into different functional modules to complete all or part of the functions described above.
  • the embodiment of the container image construction system, the container image construction device, and the container image construction method provided by the embodiment of the present application are the same. The specific implementation process is described in detail in the method embodiment, and details are not described herein again.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Facsimiles In General (AREA)

Abstract

本申请公开了一种镜像容器的构建方法、系统、服务器、装置及存储介质,属于互联网技术领域。该方法包括:当检测到应用程序的代码更新时,代码仓库服务器向镜像构建逻辑服务器发送镜像构建指令;镜像构建逻辑服务器创建容器构建任务;容器服务器通过调用容器构建任务构建应用程序的容器,并获取应用程序更新的代码;容器服务器在容器中对应用程序更新的代码进行编译,得到应用程序的容器镜像,并将容器镜像上传至容器镜像服务器。本申请在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。

Description

容器镜像的构建方法、系统、服务器、装置及存储介质
本申请请求于2017年11月15日提交的申请号为2017111320257、发明名称为“容器镜像的构建方法、系统、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,特别涉及一种容器镜像的构建方法、系统、服务器、装置及存储介质。
背景技术
容器镜像是对应用程序的代码及其运行环境进行标准化封装,得到的一种特殊的文件系统,该文件系统可直接运行在任何安装有容器的操作系统中。容器是对应用程序进行构建、分发、运行的统一平台,用于实现应用程序的自动化安装、部署及升级。由于容器镜像提供了容器运行时所需的各种资源,是容器得以运行的基础,因此,在基于容器技术对应用程序进行自动化部署之前,需要先构建出应用程序的容器镜像。
相关技术在构建容器镜像时,主要采用如下方法:接收用户发送的镜像构建指令,基于镜像构建指令获取应用程序的代码;创建容器构建任务,基于容器构建任务,构建应用程序的容器;在所构建的容器中,对包括应用程序的代码在内的用于构建容器镜像的资源进行编译,得到应用程序的容器镜像;接收用户发送的镜像上传指令,基于镜像上传指令,将所构建的容器镜像上传至镜像服务器。
上述容器镜像的构建过程,由于需要用户干预,因而构建过程不智能。
发明内容
为了解决相关技术的问题,使得容器镜像的构建更智能,本申请实施例提供了一种容器镜像的构建方法、系统、服务器、装置及存储介质。所述技术方案如下:
一方面,提供了一种容器镜像的构建方法,所述方法应用于容器镜像构建 系统,所述容器镜像构建系统包括代码仓库服务器、镜像构建逻辑服务器、容器服务器及容器镜像服务器,所述方法包括:
当检测到应用程序的代码更新时,所述代码仓库服务器向所述镜像构建逻辑服务器发送镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
所述镜像构建逻辑服务器根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
所述容器服务器通过调用所述容器构建任务构建所述应用程序的容器,并从所述镜像构建逻辑服务器中,获取所述第一授权证书,根据所述第一授权证书,从所述代码仓库服务器中,获取所述应用程序更新的代码;
所述容器服务器在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至所述容器镜像服务器。
另一方面,提供了一种容器镜像的构建方法,所述方法包括:
当检测到应用程序的代码更新时,容器镜像构建服务器生成镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
所述容器镜像构建服务器根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
所述容器镜像构建服务器根据所述容器构建任务,构建所述应用程序的容器,并根据所述第一授权证书,获取所述应用程序更新的代码;
所述容器镜像构建服务器在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至容器镜像服务器。
另一方面,提供了一种容器镜像构建系统,所述容器镜像构建系统包括代码仓库服务器、镜像构建逻辑服务器、容器服务器及容器镜像服务器;
其中,所述代码仓库服务器,用于当检测到应用程序的代码更新时,向所述镜像构建逻辑服务器发送镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
所述镜像构建逻辑服务器,用于根据所述更新的应用程序的属性信息,创 建容器构建任务,并获取第二授权证书;
所述容器服务器,用于通过调用所述容器构建任务构建所述应用程序的容器,并从所述镜像构建逻辑服务器中,获取所述第一授权证书,根据所述第一授权证书,从所述代码仓库服务器中,获取所述应用程序更新的代码;
所述容器服务器,用于在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至所述容器镜像服务器。
另一方面,提供了一种容器镜像的构建装置,所述装置包括:
指令生成模块,用于当检测到应用程序的代码更新时,生成镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
任务创建模块,用于根据所述更新的应用程序的属性信息,创建容器构建任务;
证书获取模块,用于获取第二授权证书;
容器构建模块,用于根据所述容器构建任务,构建所述应用程序的容器;
代码获取模块,用于根据所述第一授权证书,获取所述应用程序更新的代码;
代码编译模块,用于在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像;
镜像上传模块,用于根据所述第二授权证书,将所述容器镜像上传至容器镜像服务器。
另一方面,提供了一种容器镜像构建服务器,所述容器镜像构建服务器包括至少一个处理器、存储器,所述存储器用于存储至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以下操作:
当检测到应用程序的代码更新时,生成镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
根据所述容器构建任务,构建所述应用程序的容器,并根据所述第一授权 证书,获取所述应用程序更新的代码;
在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至容器镜像服务器。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现容器镜像的构建方法。
本申请实施例提供的技术方案带来的有益效果是:
在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种容器镜像的构建方法所涉及的实施环境;
图2是本申请实施例提供的镜像构建逻辑服务器和容器服务器的部署架构图;
图3是本申请实施例提供另一种容器镜像的构建方法所涉及的实施环境;
图4是本申请实施例提供一种容器镜像的构建方法的流程图;
图5是本申请实施例提供的一种容器镜像的构建过程的示意图;
图6是本申请实施例提供的另一种容器镜像的构建方法的流程图;
图7是本申请实施例提供的一种容器镜像构建系统的结构示意图;
图8是本申请实施例提供的另一种容器镜像构建系统的结构示意图;
图9是本申请实施例提供的一种容器镜像的构建装置的结构示意图;
图10是本申请实施例提供的另一种容器镜像的构建装置的结构示意图;
图11是本申请实施例提供的另一种容器镜像的构建装置的结构示意图;
图12是本申请实施例提供的另一种容器镜像的构建装置的结构示意图;
图13是根据一示例性实施例示出的一种用于容器镜像的构建的服务器。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
容器和容器镜像的相关说明
Docker是一个开源的应用容器引擎,能够提供一种应用程序的自动化部署解决方案,通过在操作系统上创建一个容器(容器即轻量级虚拟机),并在容器中部署和运行应用程序的容器镜像,可以实现应用程序的自动化安装、部署和升级。Docker可虚拟出至少两个容器,由于每个容器之间彼此独立、没有任何接口,因而可将彼此的开发环境和运行环境分开。容器技术的出现,实现了对传统应用程序,特别是基于网络的浏览器/服务器的应用程序的灵活部署和管理,同时也实现了资源的隔离和限制,满足了应用程序的快速部署及多样化的需求。
容器镜像作为一个特殊的文件系统,除了提供容器运行时所需的应用程序的代码、数据库及配置参数等文件外,还提供一些为运行时准备的配置参数,如匿名卷、环境变量、用户等。
容器镜像是静态资源,其不包含任何动态数据,且其内容在构建之后就不会被改变,容器镜像一般存储在磁盘或者镜像服务器中。容器是动态资源,实际上是根据容器镜像创建而出的应用程序。
目前已有的容器镜像的构建方法,一方面需要用户手动触发生成镜像构建指令和镜像上传指令,对用户而言,需要掌握一定的专业技能,学习成本较高,构建难度较大,对于容器镜像的构建装置而言,整个构建过程需要用户的触发,构建过程不智能;另一方面容器镜像的构建一般会依赖于外部资源,例如,从github上拉取应用程序的代码、从包安装服务器上下载安装包等,而用户的虚拟机大多没有外网IP(Internet Protocol,网络互连协议),无法访问外部网络,即便用户的虚拟机具有外网IP,能够访问外部网络,但当本地与外部资源间距离较远时,访问外部资源的速度也会很慢,导致容器镜像的构建时间较长,甚至构建失败。
为了解决相关技术中存在问题,本申请实施例提供了一种容器镜像的构建 方法,该方法在检测到应用程序的代码更新时,自动触发容器镜像的构建任务,在容器镜像的构建过程中,当需要外部网络资源,可通过分布在各地的容器服务器快速获取到外部资源,从而确保构建过程顺利进行。在容器镜像构建完成时,又可自动地将所构建的容器镜像上传至容器镜像服务器。
本申请实施例提供的容器镜像的构建方法的实施环境
一种实施环境,图1是本申请实施例提供的容器镜像的构建方法所涉及的实施环境,参见图1,该实施环境包括终端101、代码仓库服务器102、镜像构建逻辑服务器103、索引服务器104、容器服务器105及容器镜像服务器106。
其中,终端101为用户编译应用程序的代码时所使用的设备,该终端101可以为笔记本电脑、台式电脑、平板电脑等,本申请实施例不对终端101的产品类型作具体的限定。
代码仓库服务器102具有至少一个代码仓库,该代码仓库主要用于存储终端101所发送的应用程序的代码、以及用户预设的构建规则等,该构建规则指示了容器镜像构建时的代码仓库、镜像名称等。在本申请实施例中,代码仓库服务器102可以用Git Server表示。
镜像构建逻辑服务器103主要用于对镜像构建指令进行解析、进行构建任务的分发、查询镜像构建日志等等。在本申请实施例中,镜像构建逻辑服务器103可以用CI-Server表示。
索引服务器104主要用于存储应用程序的属性信息与第二授权证书的之间的对应关系等。在本申请实施例中,索引服务器104可以用Index表示。
容器服务器105为一个服务器集群,其所包括的服务器分布在各地,容器服务器105主要用于处理执行容器构建任务,每个容器构建任务被作为一个容器来执行。在本申请实施例中,容器服务器105可以用Kubernetes集群表示。
容器镜像服务器106主要用于存储所构建的容器镜像。在本申请实施例中,容器镜像服务器106可以用Qcloud Registry表示。
对于镜像构建逻辑服务器和容器服务器的具体部署,下面结合图2进行具体说明。
参见图2,镜像构建逻辑服务器103与容器镜像服务器106具有相同的运行环境,均为内网运行环境。Kubernetes集群(容器服务器105)的运行环境为私有云运行环境,Kubernetes集群的访问入口设置有内网虚拟IP,面向镜像 构建逻辑服务器103可模拟内网运行坏境,从而能够与镜像构建逻辑服务器103进行通信;Kubernetes集群还设置有VPC(Virtual Private Cloud,虚拟私有云公网GW(GateWay,网关),可以获取Java、nodejs等外网镜像服务以及Yum、apt-get等外网软件包服务。
镜像构建逻辑服务器和容器服务器的部署说明
第一,将镜像构建逻辑服务器与容器服务器分离部署。
由于镜像构建逻辑服务器只需要执行镜像构建指令的解析、镜像构建任务的分发操作等,这些操作占用的CPU(Central Processing Unit,中央处理器)、内存、IO(Input/Output,输入输出)等资源极小,因此,可以使用镜像构建逻辑服务器进行独立部署,而镜像构建任务会占用大量的CPU、内存和IO等资源,需要以集群的方式进行分布式部署。优选地,为了防止镜像构建任务影响到构建逻辑,可将镜像构建逻辑服务器和容器服务器分开部署。
第二,采用kubernetes容器集群作为容器服务器执行镜像构建任务。
考虑到kubernetes为一种稳定、开源的容器集群,可根据CPU、内存等资源,将镜像构建任务调度到集群内合适的服务器上运行,使得整个集群内的资源得到充分运用,因此,本申请实施例可采用kubernetes容器集群作为容器服务器执行镜像构建任务。
第三,将容器服务器(Kubernetes集群)的网络与镜像构建逻辑服务器(CI-Server)的网络隔离。
通过将容器服务器(Kubernetes集群)的网络与镜像构建逻辑服务器(CI-Server)的网络隔离,可以有效防止容器镜像构建过程中恶意的、攻击性的指令运行,以保障整个运营环境的安全。
第四,在容器服务器(kubernetes集群)的访问入口设置内网Virtual IP。
通过在容器服务器(kubernetes集群)的访问入口设置内网Virtual IP,使得运营环境中的镜像构建逻辑服务器(CI-Server)可以和外网的Kubernetes集群进行通信,不仅保证了CI-Server能够被Kubernetes集群调度,而且CI-Server通过访问Kubernetes集群的镜像构建任务接口,可获取容器镜像构建过程中的镜像日志。
另一种实施环境,图3是本申请实施例提供的容器镜像的构建方法所涉及的实施环境,参见图3,该实施环境包括:终端301、容器镜像构建服务器302及容器镜像服务器303。
其中,终端301与图1中的终端101的产品类型及功能相同,此处不再赘述。容器镜像构建服务器302具有图1中代码仓库服务器102、镜像构建逻辑服务器103、索引服务器104、容器服务器105的全部功能,具体参见图1中对代码仓库服务器102、镜像构建逻辑服务器103、索引服务器104、容器服务器105的描述,此处也不再赘述。容器镜像服务器303具有图1中的容器镜像服务器106的全部功能,具体参见图1中对容器镜像服务器106的描述,此处不再赘述。
基于图1所示的实施环境,本申请实施例提供了一种容器镜像的构建方法,该方法应用于容器镜像构建系统,该容器镜像构建系统包括代码仓库服务器、镜像构建逻辑服务器、容器服务器及容器镜像服务器,参见图4,本申请实施例提供的容器镜像的构建方法流程包括:
401、当检测到应用程序的代码更新时,代码仓库服务器向镜像构建逻辑服务器发送镜像构建指令。
在本申请实施例中,应用程序的代码更新的场景,包括但不限于如下两种:
一种场景、对于已发布的应用程序,如果该应用程序在实际使用过程中存在一些缺陷,影响该应用程序的性能,应用程序的开发人员可通过对该应用程序的源代码进行修改,克服该应用程序在运行过程中存在的问题,从而提升该应用程序的性能。当应用程序的开发人员对应用程序的源代码修改完成后,该应用程序的开发人员可通过终端将所修改的应用程序的代码上传至代码仓库服务器。
另一种场景、为了满足用户的使用需求,应用程序的开发人员可开发出具有新功能的应用程序,进而通过终端将所开发的应用程序的代码上传至代码仓库服务器。
本申请实施例中的代码仓库服务器具有代码检测功能,可实时扫描所存储的应用程序的代码。对于已存储的任一应用程序,当检测到该应用程序的代码被修改时,可确定应用程序的代码更新;对于未存储的应用程序,当检测到新的应用程序的代码时,可确定应用程序的代码更新。
需要说明的是,由于应用程序的数量及种类均较多,每种应用程序均具有代码,这样代码仓库服务器中就需要存储多种应用程序的代码,为了便于对所存储的应用程序的代码进行管理,代码仓库服务器包括至少一个代码仓库,每 个代码仓库具有唯一的地址,可用于存储一种应用程序的代码。代码仓库服务器通过检测用户的设置操作,可建立代码仓库的地址与每种应用程序之间的对应关系。基于该对应关系,当接收到终端上传的应用程序的代码时,代码仓库服务器可将应用程序的代码存储到相应的代码仓库中。
为了实现容器镜像的自动构建,在本申请实施例中,代码仓库服务器还将存储用户预先设置的构建规则,该构建规则指示了代码仓库的地址、容器镜像名称及镜像构建逻辑服务器等之间的对应关系。基于所存储的构建规则,当检测到应用程序的代码更新时,代码仓库服务器可构造钩子函数,该钩子函数用于触发代码仓库服务器向镜像构建逻辑服务器发送镜像构建指令。其中,镜像构建指令包括第一授权证书和更新的应用程序的属性信息等。具体地,第一授权证书用于对容器服务器进行授权,以使容器服务器在自动构建容器镜像的过程中能够读取代码仓库服务器中所存储的应用程序的代码,该第一授权证书可以为一个token。更新的应用程序的属性信息包括应用程序的名称、代码仓库的地址、构建容器镜像时所需的外部资源地址等等。
402、镜像构建逻辑服务器根据更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书。
当接收到镜像构建指令时,镜像构建逻辑服务器根据约定的通信协议,对镜像构建指令进行解析,得到第一授权证书、更新的应用程序的属性信息等。基于所得到的更新的应用程序的属性信息,镜像构建逻辑服务器创建容器构建任务,该容器构建任务指示了代码仓库的地址、运行环境、所需的外部资源的资源地址、配置参数等等。
本申请实施例中,容器镜像构建系统还包括索引服务器,该索引服务器中存储有应用程序的属性信息与第二授权证书之间的对应关系。基于所存储的应用程序的属性信息与第二授权证书之间的对应关系,当镜像构建逻辑服务器对镜像构建指令进行解析,得到更新的应用程序的属性信息后,镜像构建逻辑服务器可从索引服务器中,获取更新的应用程序的属性信息对应的第二授权证书,该第二授权证书用于对容器服务器进行授权,以使容器服务器能够登录容器镜像服务器,并将所构建的容器镜像上传至容器镜像服务器,该第二授权证书可以为一个token。
403、容器服务器通过调用容器构建任务构建应用程序的容器,并根据第一授权证书,从代码仓库服务器中,获取应用程序更新的代码。
在本申请实施例中,容器服务器能够调用镜像构建逻辑服务器所创建容器构建任务,通过调用容器构建任务,容器服务器可构建应用程序的容器,该容器为容器镜像的生产环境。接着,容器服务器通过与镜像构建逻辑服务器进行通信,从镜像构建逻辑服务器中,获取第一授权证书,并根据第一授权证书,获取对代码仓库服务器的访问权限,进而根据代码仓库的地址,从代码仓库服务器中,获取应用程序更新的代码。
404、容器服务器在容器中对应用程序更新的代码进行编译,得到应用程序的容器镜像,并根据第二授权证书,将容器镜像上传至容器镜像服务器。
在本申请的一个实施例中,如果应用程序的容器镜像的构建资源仅包括内网资源,例如应用程序更新的代码,不包括外部资源,则容器服务器可直接在容器中对应用程序更新的代码进行编译,从而得到应用程序的容器镜像。
在本申请的另一个实施例中,如果应用程序的容器镜像的构建资源不仅包括内网资源,例如应用程序更新的代码,而且还包括外部资源,则容器服务器可根据容器构建任务所指示的外部资源的外部资源地址,获取对应的外部资源,进而在容器中对应用程序更新的代码和外部资源进行编译,从而得到镜像容器。由于容器服务器所包括的多个服务器之间通过专网相连,因而可快速获取到所需的外部资源,不仅可保证容器镜像能够成功构建,而且大大缩短了构建时间,提高了构建效率。
为了提升镜像构建逻辑服务器及容器服务器的性能,避免已结束的任务占用CPU、内存等资源,当检测到容器镜像构建完成时,镜像构建逻辑服务器可将容器构建任务删除,同时向容器服务器发送容器删除指令,当接收到容器服务器发送的容器删除指令时,容器服务器删除所创建的容器,进而将该容器所占用的资源释放。
在本申请实施例中,容器服务器在构建容器镜像的过程中,还将缓存镜像构建日志。基于容器服务器中所存储的镜像构建日志,镜像构建逻辑服务器可每隔预设周期获取容器服务器中所缓存的镜像构建日志,并将镜像构建日志保存在数据库中,以供应用程序的开发人员追溯容器镜像的构建过程。其中,预设周期根据镜像构建服务器的处理能力确定,可以为1小时、2小时等。开发人员对容器镜像的构建过程进行追溯包括获知容器镜像在不同时间内的构建进度、容器镜像在构建过程中内存的占用量、所调用的函数等等。
图5示出采用本申请实施例提供的方法构建容器镜像的构建过程,该过程 如下:
1、应用程序的开发人员通过终端向代码仓库服务器发送应用程序更新的代码。
2、当检测到应用程序的代码更新时,代码仓库服务器配置钩子函数,以触发生成镜像构建指令,进而向镜像构建逻辑服务器发送该镜像构建指令。
3、当接收到镜像构建指令时,镜像构建逻辑服务器对该镜像构建指令进行解析,得到第一授权证书和更新的应用程序的属性信息。
4、基于该更新的应用程序的属性信息,镜像构建逻辑服务器创建容器构建任务,并从索引服务器上获取对应的第二授权证书。
5、容器服务器(Kubernetes集群)通过调用容器构建任务,创建应用程序的容器。
6、容器服务器根据第一授权证书,获取对仓库服务器的访问权限,进而从仓库服务器上获取应用程序更新的代码。
7、容器服务器在容器中对应用程序更新的代码进行编译,得到容器镜像。
8、基于第二授权证书,容器服务器将所构建的容器镜像上传至容器镜像服务器。
本申请实施例提供的方法,在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。另外,本申请实施例提供的容器服务器通过与外部网络进行通信,可获取到外网资源,不仅确保了容器镜像的构建成功率,而且提高了对容器镜像的构建效率。
基于图3所示的实施环境,本申请实施例提供了一种容器镜像的构建方法,以容器镜像构建服务器执行本申请实施例为例,参见图6,本申请实施例提供的容器镜像的构建方法流程包括:
601、当检测到应用程序的代码更新时,容器镜像构建服务器生成镜像构建指令。
在本申请实施例中,应用程序的代码更新的场景,包括但不限于如下两种:
一种场景、对于已发布的应用程序,如果该应用程序在实际使用过程中存在一些缺陷,影响该应用程序的性能,应用程序的开发人员可通过对该应用程序的源代码进行修改,克服该应用程序在运行过程中存在的问题,从而提升该 应用程序的性能。当应用程序的开发人员对应用程序的源代码修改完成后,该应用程序的开发人员可通过终端将所修改的应用程序的代码上传至容器镜像构建服务器。
另一种场景、为了满足用户的使用需求,应用程序的开发人员可开发出具有新功能的应用程序,进而通过终端将所开发的应用程序的代码上传至容器镜像构建服务器。
本申请实施例中的容器镜像构建服务器具有代码检测功能,可实时扫描所存储的应用程序的代码。对于已存储的任一应用程序,当检测到该应用程序的代码被修改时,可确定应用程序的代码更新;对于未存储的应用程序,当检测到新的应用程序的代码时,可确定应用程序的代码更新。
需要说明的是,由于应用程序的数量及种类均较多,每种应用程序均具有代码,这样容器镜像构建服务器中就需要存储多种应用程序的代码,为了便于对所存储的应用程序的代码进行管理,容器镜像构建服务器包括至少一个代码仓库,每个代码仓库具有唯一的地址,可用于存储一种应用程序的代码。容器镜像构建服务器通过检测用户的设置操作,可建立代码仓库的地址与每种应用程序之间的对应关系。基于该对应关系,当接收到终端上传的应用程序的代码时,容器镜像构建服务器可将应用程序的代码存储到相应的代码仓库中。
为了实现容器镜像的自动构建,在本申请实施例中,容器镜像构建服务器还将存储用户预先设置的构建规则,该构建规则指示了代码仓库的地址、容器镜像名称及镜像构建逻辑服务器等之间的对应关系。基于所存储的构建规则,当检测到应用程序的代码更新时,容器镜像构建服务器可构造钩子函数,该钩子函数用于触发生成镜像构建指令。其中,镜像构建指令包括第一授权证书和更新的应用程序的属性信息等。具体地,第一授权证书用于进行访问授权,以在自动构建容器镜像的过程中能够读取所存储的应用程序的代码,该第一授权证书可以为一个token。更新的应用程序的属性信息包括应用程序的名称、代码仓库的地址、构建容器镜像时所需的外部资源地址等等。
602、容器镜像构建服务器根据更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书。
当接收到镜像构建指令时,容器镜像构建服务器根据约定的通信协议,对镜像构建指令进行解析,得到第一授权证书、更新的应用程序的属性信息等。基于所得到的更新的应用程序的属性信息,容器镜像构建服务器创建容器构建 任务,该容器构建任务指示了代码仓库的地址、运行环境、所需的外部资源的资源地址、配置参数等等。
本申请实施例中,容器镜像构建服务器维护一个索引数据库,该索引数据库中存储有应用程序的属性信息与第二授权证书之间的对应关系。基于索引数据库中所存储的应用程序的属性信息与第二授权证书之间的对应关系,容器镜像构建服务器可获取更新的应用程序的属性信息对应的第二授权证书,该第二授权证书用于进行访问授权,以使容器镜像构建服务器能够登录容器镜像服务器,并将所构建的容器镜像上传至容器镜像服务器,该第二授权证书可以为一个token。
603、容器镜像构建服务器根据容器构建任务,构建应用程序的容器,并根据第一授权证书,获取应用程序更新的代码。
在本申请实施例中,容器镜像构建服务器可根据容器构建任务,构建应用程序的容器,该容器为容器镜像的生产环境。接着,容器镜像构建服务器根据第一授权证书,从代码仓库中获取应用程序更新的代码。
604、容器镜像构建服务器在容器中对应用程序更新的代码进行编译,得到应用程序的容器镜像,并根据第二授权证书,将容器镜像上传至容器镜像服务器。
在本申请的一个实施例中,如果应用程序的容器镜像的构建资源仅包括内网资源,例如应用程序更新的代码,不包括外部资源,则容器镜像构建服务器可直接在容器中对应用程序更新的代码进行编译,从而得到应用程序的容器镜像。
在本申请的另一个实施例中,如果应用程序的容器镜像的构建资源不仅包括内网资源,例如应用程序更新的代码,而且还包括外部资源,则容器镜像构建服务器可根据容器构建任务所指示的外部资源的外部资源地址,获取对应的外部资源,进而在容器中对应用程序更新的代码和外部资源进行编译,从而得到镜像容器。由于容器镜像构建服务器所包括的用于构建容器镜像的多个服务器之间通过专网相连,因而可快速获取到所需的外部资源,不仅可保证容器镜像能够成功构建,而且大大缩短了构建时间,提高了构建效率。
为了提升容器镜像构建服务器的性能,避免已结束的任务占用CPU、内存等资源,当检测到容器镜像构建完成时,容器镜像构建服务器可将容器构建任务删除,并将所创建的容器删除,进而将该容器所占用的资源释放。
在本申请实施例中,容器镜像构建服务器在构建容器镜像的过程中,还将缓存镜像构建日志,该镜像构建日志可供应用程序的开发人员追溯容器镜像的构建过程。开发人员对容器镜像的构建过程进行追溯包括获知容器镜像在不同时间内的构建进度、容器镜像在构建过程中内存的占用量、所调用的函数等等。
本申请实施例提供的方法,在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。另外,本申请实施例提供的容器服务器通过与外部网络进行通信,可获取到外网资源,不仅确保了容器镜像的构建成功率,而且提高了对容器镜像的构建效率。
参见图7,本申请实施例提供了一种容器镜像构建系统,该容器镜像构建系统包括代码仓库服务器701、镜像构建逻辑服务器702、容器服务器703及容器镜像服务器704。
代码仓库服务器701,用于当检测到应用程序的代码更新时,向镜像构建逻辑服务器702发送镜像构建指令,该镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
镜像构建逻辑服务器702,用于根据更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
容器服务器703,用于通过调用容器构建任务构建应用程序的容器,并从镜像构建逻辑服务器中,获取第一授权证书,根据第一授权证书,从代码仓库服务器701中,获取应用程序更新的代码;
容器服务器703,用于在容器中对应用程序更新的代码进行编译,得到应用程序的容器镜像,并根据第二授权证书,将容器镜像上传至容器镜像服务器704。
在本申请的另一个实施例中,代码仓库服务器701,用于当检测到应用程序的代码更新时,构造钩子函数,该钩子函数用于触发代码仓库服务器701向镜像构建逻辑服务器702发送镜像构建指令。
在本申请的另一个实施例中,参见图8,容器镜像构建系统还包括索引服务器705;
镜像构建逻辑服务器702,还用于从索引服务器705中,获取更新的应用程序的属性信息对应的第二授权证书,该索引服务器705中存储有应用程序的 属性信息与第二授权证书之间的对应关系。
在本申请的另一个实施例中,镜像构建逻辑服务器702,还用于获取容器服务器703中所缓存的镜像构建日志,该镜像构建日志用于镜像构建逻辑服务器702追溯容器镜像的构建过程。
在本申请的另一个实施例中,镜像构建逻辑服务器,还用于当检测到容器镜像构建完成时,删除容器构建任务,并向容器服务器703发送容器删除指令,该容器删除指令用于容器服务器703删除容器。
在本申请的另一个实施例中,容器构建任务指示用于构建容器镜像的外部资源的外部资源地址;
容器服务器703,还用于根据外部资源地址,获取对应的外部资源;
容器服务器703,还用于在容器中对应用程序更新的代码和外部资源进行编译,得到镜像容器。
需要说明的是,本申请实施例中的代码仓库服务器701与图1中的代码仓库服务器102相同,具有图1中的代码仓库服务器102的全部功能;本申请实施例中的镜像构建逻辑服务器702与图1中的镜像构建逻辑服务器103相同,具有图1中的镜像构建逻辑服务器103的全部功能;本申请实施例中的容器服务器703与图1中的容器服务器105相同,具有图1中的容器服务器105的全部功能;本申请实施例中的容器镜像服务器704与图1中的容器镜像服务器106相同,具有图1中的容器镜像服务器106的全部功能。
综上所述,本申请实施例提供的系统,在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。
参见图9,本申请实施例提供了一种容器镜像的构建装置,该装置具有图3中容器镜像构建服务器302的全部功能,该装置包括:
指令生成模块901,用于当检测到应用程序的代码更新时,生成镜像构建指令,该镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
任务创建模块902,用于根据更新的应用程序的属性信息,创建容器构建任务;
证书获取模块903,用于获取第二授权证书;
容器构建模块904,用于根据容器构建任务,构建应用程序的容器;
代码获取模块905,用于根据第一授权证书,获取应用程序更新的代码;
代码编译模块906,用于在容器中对应用程序更新的代码进行编译,得到应用程序的容器镜像;
镜像上传模块907,用于根据第二授权证书,将容器镜像上传至容器镜像服务器。
在本申请的另一个实施例中,参见图10,该装置还包括:
函数构造模块908,用于当检测到应用程序的代码更新时,构造钩子函数,该钩子函数用于触发生成镜像构建指令。
在本申请的另一个实施例中,证书获取模块903,用于从索引数据库中,获取更新的应用程序的属性信息对应的第二授权证书,该索引数据库中存储有应用程序的属性信息与第二授权证书之间的对应关系。
在本申请的另一个实施例中,参见图11,该装置还包括:
日志缓存模块909,用于缓存镜像构建日志,镜像构建日志用于追溯容器镜像的构建过程。
在本申请的另一个实施例中,参见图12,该装置还包括:
删除模块910,用于当检测到容器镜像构建完成时,删除容器构建任务,并删除容器。
在本申请的另一个实施例中,容器构建任务指示用于构建容器镜像的外部资源的外部资源地址;
代码获取模块905,还用于根据外部资源地址,获取对应的外部资源;
代码编译模块906,还用于在容器中对应用程序更新的代码和外部资源进行编译,得到镜像容器。
本申请实施例提供的装置,在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。
图13是根据一示例性实施例示出的一种用于容器镜像的构建的服务器。参照图13,服务器1300包括处理组件1322,其进一步包括一个或多个处理器,以及由存储器1332所代表的存储器资源,用于存储可由处理组件1322的执行的指令,例如应用程序。存储器1332中存储的应用程序可以包括一个或一个 以上的每一个对应于一组指令的模块。此外,处理组件1322被配置为执行指令,以执行上述图4或图6所示的容器镜像的构建方法中服务器所执行的功能。
服务器1300还可以包括一个电源组件1326被配置为执行服务器1300的电源管理,一个有线或无线网络接口1350被配置为将服务器1300连接到网络,和一个输入输出(I/O)接口1358。服务器1300可以操作基于存储在存储器1332的操作系统,例如Windows Server TM,Mac OS X TM,Unix TM,Linux TM,FreeBSD TM或类似。
本申请实施例提供的服务器,在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。
本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现图4所示的容器镜像的构建方法,或者实现图6所示的容器镜像的构建方法。
本申请实施例提供的计算机可读存储介质,在检测到应用程序的代码更新时,可自动触发容器镜像构建流程,并在容器镜像构建完成后,自动将所构建的容器镜像上传至容器镜像服务器。由于整个过程无需用户干预,因而构建过程更佳智能。
需要说明的是:上述本申请实施例提供的容器镜像构建系统、容器镜像的构建装置、容器镜像构建服务器在构建容器镜像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将容器镜像构建系统、容器镜像的构建装置、容器镜像构建服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述本申请实施例提供的容器镜像构建系统、容器镜像的构建装置及容器镜像的构建方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述本申请实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储 器,磁盘或光盘等。
以上所述仅为本申请实施例的较佳实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (21)

  1. 一种容器镜像的构建方法,其特征在于,所述方法应用于容器镜像构建系统,所述容器镜像构建系统包括代码仓库服务器、镜像构建逻辑服务器、容器服务器及容器镜像服务器,所述方法包括:
    当检测到应用程序的代码更新时,所述代码仓库服务器向所述镜像构建逻辑服务器发送镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
    所述镜像构建逻辑服务器根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
    所述容器服务器通过调用所述容器构建任务构建所述应用程序的容器,并从所述镜像构建逻辑服务器中,获取所述第一授权证书,根据所述第一授权证书,从所述代码仓库服务器中,获取所述应用程序更新的代码;
    所述容器服务器在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至所述容器镜像服务器。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当检测到应用程序的代码更新时,所述代码仓库服务器构造钩子函数,所述钩子函数用于触发所述代码仓库服务器向所述镜像构建逻辑服务器发送所述镜像构建指令。
  3. 根据权利要求1所述的方法,其特征在于,所述容器镜像构建系统还包括索引服务器,所述镜像构建逻辑服务器获取第二授权证书,包括:
    所述镜像构建逻辑服务器从所述索引服务器中,获取所述更新的应用程序的属性信息对应的第二授权证书,所述索引服务器中存储有应用程序的属性信息与第二授权证书之间的对应关系。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述镜像构建逻辑服务器获取所述容器服务器中所缓存的镜像构建日志, 所述镜像构建日志用于所述镜像构建逻辑服务器追溯所述容器镜像的构建过程。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当检测到所述容器镜像构建完成时,所述镜像构建逻辑服务器删除所述容器构建任务,并向所述容器服务器发送容器删除指令,所述容器删除指令用于所述容器服务器删除所述容器。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述容器构建任务指示用于构建所述容器镜像的外部资源的外部资源地址,所述方法还包括:
    所述容器服务器根据所述外部资源地址,获取对应的外部资源;
    所述容器服务器在所述容器中对所述应用程序更新的代码和所述外部资源进行编译,得到所述镜像容器。
  7. 一种容器镜像的构建方法,其特征在于,所述方法包括:
    当检测到应用程序的代码更新时,容器镜像构建服务器生成镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
    所述容器镜像构建服务器根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
    所述容器镜像构建服务器根据所述容器构建任务,构建所述应用程序的容器,并根据所述第一授权证书,获取所述应用程序更新的代码;
    所述容器镜像构建服务器在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至容器镜像服务器。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    当检测到应用程序的代码更新时,所述容器镜像构建服务器构造钩子函数,所述钩子函数用于触发生成所述镜像构建指令。
  9. 根据权利要求7所述的方法,其特征在于,所述获取第二授权证书,包 括:
    所述容器镜像构建服务器从索引数据库中,获取所述更新的应用程序的属性信息对应的第二授权证书,所述索引数据库中存储有应用程序的属性信息与第二授权证书之间的对应关系。
  10. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    所述容器镜像构建服务器缓存镜像构建日志,所述镜像构建日志用于追溯所述容器镜像的构建过程。
  11. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    当检测到所述容器镜像构建完成时,所述容器镜像构建服务器删除所述容器构建任务,并删除所述容器。
  12. 根据权利要求7至11中任一项所述的方法,其特征在于,所述容器构建任务指示用于构建所述容器镜像的外部资源的外部资源地址,所述方法还包括:
    所述容器镜像构建服务器根据所述外部资源地址,获取对应的外部资源;
    所述容器镜像构建服务器在所述容器中对所述应用程序更新的代码和所述外部资源进行编译,得到所述镜像容器。
  13. 一种容器镜像构建系统,其特征在于,所述容器镜像构建系统包括代码仓库服务器、镜像构建逻辑服务器、容器服务器及容器镜像服务器;
    其中,所述代码仓库服务器,用于当检测到应用程序的代码更新时,向所述镜像构建逻辑服务器发送镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
    所述镜像构建逻辑服务器,用于根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
    所述容器服务器,用于通过调用所述容器构建任务构建所述应用程序的容器,并从所述镜像构建逻辑服务器中,获取所述第一授权证书,根据所述第一授权证书,从所述代码仓库服务器中,获取所述应用程序更新的代码;
    所述容器服务器,用于在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至所述容器镜像服务器。
  14. 一种容器镜像的构建装置,其特征在于,所述装置包括:
    指令生成模块,用于当检测到应用程序的代码更新时,生成镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
    任务创建模块,用于根据所述更新的应用程序的属性信息,创建容器构建任务;
    证书获取模块,用于获取第二授权证书;
    容器构建模块,用于根据所述容器构建任务,构建所述应用程序的容器;
    代码获取模块,用于根据所述第一授权证书,获取所述应用程序更新的代码;
    代码编译模块,用于在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像;
    镜像上传模块,用于根据所述第二授权证书,将所述容器镜像上传至容器镜像服务器。
  15. 一种容器镜像构建服务器,其特征在于,所述容器镜像构建服务器包括至少一个处理器、存储器,所述存储器用于存储至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以下操作:
    当检测到应用程序的代码更新时,生成镜像构建指令,所述镜像构建指令包括第一授权证书和更新的应用程序的属性信息;
    根据所述更新的应用程序的属性信息,创建容器构建任务,并获取第二授权证书;
    根据所述容器构建任务,构建所述应用程序的容器,并根据所述第一授权证书,获取所述应用程序更新的代码;
    在所述容器中对所述应用程序更新的代码进行编译,得到所述应用程序的容器镜像,并根据所述第二授权证书,将所述容器镜像上传至容器镜像服务器。
  16. 根据权利要求15所述的容器镜像构建服务器,其特征在于,所述处理器加载所述至少一条指令、所述至少一段程序、所述代码集或指令集执行以下操作:
    当检测到应用程序的代码更新时,构造钩子函数,所述钩子函数用于触发生成所述镜像构建指令。
  17. 根据权利要求15所述的容器镜像构建服务器,其特征在于,所述处理器加载所述至少一条指令、所述至少一段程序、所述代码集或指令集执行以下操作:
    从索引数据库中,获取所述更新的应用程序的属性信息对应的第二授权证书,所述索引数据库中存储有应用程序的属性信息与第二授权证书之间的对应关系。
  18. 根据权利要求15所述的容器镜像构建服务器,其特征在于,所述处理器加载所述至少一条指令、所述至少一段程序、所述代码集或指令集执行以下操作:
    缓存镜像构建日志,所述镜像构建日志用于追溯所述容器镜像的构建过程。
  19. 根据权利要求15所述的容器镜像构建服务器,其特征在于,所述处理器加载所述至少一条指令、所述至少一段程序、所述代码集或指令集执行以下操作:
    当检测到所述容器镜像构建完成时,删除所述容器构建任务,并删除所述容器。
  20. 根据权利要求15至19中任一项所述的容器镜像构建服务器,其特征在于,所述容器构建任务指示用于构建所述容器镜像的外部资源的外部资源地址;
    所述处理器加载所述至少一条指令、所述至少一段程序、所述代码集或指令集执行以下操作:
    根据所述外部资源地址,获取对应的外部资源;
    在所述容器中对所述应用程序更新的代码和所述外部资源进行编译,得到所述镜像容器
  21. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现如权利要求1至6中任一项所述的容器镜像的构建方法,或者实现如权利要求7至12中任一项所述的容器镜像的构建方法。
PCT/CN2018/111273 2017-11-15 2018-10-22 容器镜像的构建方法、系统、服务器、装置及存储介质 WO2019095936A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711132025.7 2017-11-15
CN201711132025.7A CN107766126B (zh) 2017-11-15 2017-11-15 容器镜像的构建方法、系统、装置及存储介质

Publications (1)

Publication Number Publication Date
WO2019095936A1 true WO2019095936A1 (zh) 2019-05-23

Family

ID=61279268

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111273 WO2019095936A1 (zh) 2017-11-15 2018-10-22 容器镜像的构建方法、系统、服务器、装置及存储介质

Country Status (2)

Country Link
CN (1) CN107766126B (zh)
WO (1) WO2019095936A1 (zh)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262941A (zh) * 2019-05-28 2019-09-20 深圳市汇川技术股份有限公司 应用程序容器集群报警实现方法、系统、设备及存储介质
CN110413294A (zh) * 2019-08-06 2019-11-05 中国工商银行股份有限公司 服务发布系统、方法、装置和设备
CN110825399A (zh) * 2019-11-07 2020-02-21 郑州悉知信息科技股份有限公司 一种应用程序的部署方法及装置
CN111008016A (zh) * 2019-11-29 2020-04-14 宝付网络科技(上海)有限公司 一种基于docker容器多环境编译系统及方法
CN111090437A (zh) * 2019-11-19 2020-05-01 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN111176782A (zh) * 2019-11-08 2020-05-19 腾讯云计算(北京)有限责任公司 一种在线实验方法和装置
CN111240910A (zh) * 2020-01-02 2020-06-05 北京航天测控技术有限公司 设备健康管理微服务生成方法、装置、设备及可读介质
CN111399897A (zh) * 2020-02-21 2020-07-10 北京值得买科技股份有限公司 基于kubernetes的应用发布方法以及系统
CN111399855A (zh) * 2020-03-09 2020-07-10 山东汇贸电子口岸有限公司 一种基于容器技术的自动化应用实例发布方法
CN111427664A (zh) * 2020-03-25 2020-07-17 杭州电子科技大学 基于容器的协议解析方法、装置、系统以及存储介质
CN111459509A (zh) * 2020-03-27 2020-07-28 北京金山云网络技术有限公司 容器镜像的构建方法、装置和服务器
CN111522627A (zh) * 2020-04-26 2020-08-11 杭州威佩网络科技有限公司 一种Docker镜像管理方法、装置、设备及介质
CN111857797A (zh) * 2020-06-29 2020-10-30 浪潮电子信息产业股份有限公司 一种镜像构建方法、系统及相关装置
CN111966463A (zh) * 2020-08-18 2020-11-20 江苏安超云软件有限公司 一种容器镜像的构建方法、装置、存储介质及电子设备
CN112148419A (zh) * 2019-06-28 2020-12-29 杭州海康威视数字技术股份有限公司 云平台中镜像管理方法、装置、系统及存储介质
CN112148494A (zh) * 2020-09-30 2020-12-29 北京百度网讯科技有限公司 用于算子服务的处理方法、装置、智能工作站和电子设备
CN112181721A (zh) * 2020-09-14 2021-01-05 东云睿连(武汉)计算技术有限公司 一种人工智能作业镜像管理方法和系统
CN112506617A (zh) * 2020-12-16 2021-03-16 新浪网技术(中国)有限公司 Kubernetes集群中边车容器的镜像更新方法及装置
CN112799777A (zh) * 2020-12-31 2021-05-14 杭州朗澈科技有限公司 一种流水线中预热调度的方法
CN113157281A (zh) * 2021-03-26 2021-07-23 北京百度网讯科技有限公司 开发环境的创建方法、装置、电子设备和存储介质
CN113296873A (zh) * 2020-05-15 2021-08-24 阿里巴巴集团控股有限公司 镜像构建方法和装置、终端设备和计算机存储介质
CN113377489A (zh) * 2020-03-09 2021-09-10 中科星图股份有限公司 基于云平台的遥感智能监测应用的构建运行方法和装置
CN113485795A (zh) * 2021-07-26 2021-10-08 四川万益能源科技有限公司 一种基于多种类型项目的自动化容器启动方法
CN113504916A (zh) * 2021-07-23 2021-10-15 京东方科技集团股份有限公司 一种代码更新方法和装置、计算机设备及介质
CN113626043A (zh) * 2021-08-04 2021-11-09 湖北美和易思教育科技有限公司 一种基于Kubernetes的容器开发环境自动打包方法及系统
CN113641480A (zh) * 2021-08-27 2021-11-12 四川中电启明星信息技术有限公司 一种基于Kubernetes集群组的任务调度系统及方法
CN113672368A (zh) * 2021-08-18 2021-11-19 上海哔哩哔哩科技有限公司 任务调度方法及系统
CN113821228A (zh) * 2021-09-30 2021-12-21 奥特酷智能科技(南京)有限公司 一种基于分层容器镜像构建ros或类ros项目的方法
CN113918096A (zh) * 2021-10-21 2022-01-11 城云科技(中国)有限公司 一种算法镜像包的上传方法、装置及应用
CN115396122A (zh) * 2022-10-27 2022-11-25 聚梦创新(北京)软件技术有限公司 消息处理方法、装置、电子设备及存储介质
CN116074063A (zh) * 2022-12-29 2023-05-05 中国联合网络通信集团有限公司 服务部署及专网隔离的实现方法、装置、设备及存储介质
CN116301950A (zh) * 2023-05-15 2023-06-23 北京中诺链捷数字科技有限公司 Docker镜像生成方法、装置、设备和存储介质
CN116680040A (zh) * 2023-07-26 2023-09-01 腾讯科技(深圳)有限公司 一种容器处理方法、装置、设备、存储介质及程序产品
CN117270886A (zh) * 2023-11-17 2023-12-22 浪潮通用软件有限公司 一种微服务系统开发部署方法、设备及介质

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766126B (zh) * 2017-11-15 2023-01-13 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质
CN108628664A (zh) * 2018-05-11 2018-10-09 北京辰森世纪科技股份有限公司 一种容器处理的方法及装置
CN108664290B (zh) * 2018-05-17 2024-02-02 中国平安人寿保险股份有限公司 一种应用程序配置方法、装置、电子设备及存储介质
CN108920250B (zh) * 2018-06-05 2021-11-19 麒麟合盛网络技术股份有限公司 应用程序容器化的方法及装置
CN108920136B (zh) * 2018-06-29 2021-10-15 郑州云海信息技术有限公司 一种基于容器的操作系统创建方法、系统及相关装置
CN109614202B (zh) * 2018-12-04 2024-07-16 北京京东尚科信息技术有限公司 容器环境的备份、恢复以及镜像处理方法和系统
CN109783191B (zh) * 2018-12-18 2020-09-08 全球能源互联网研究院有限公司 容器镜像的管理、使用及构建方法、装置
CN111338632A (zh) * 2018-12-19 2020-06-26 中国移动通信集团湖南有限公司 一种云平台镜像构建方法和装置
CN109814879B (zh) * 2019-01-16 2022-09-06 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质
CN109815704B (zh) * 2019-01-24 2020-08-04 中国—东盟信息港股份有限公司 一种Kubernetes云原生应用的安全检测方法及其系统
US11128617B2 (en) * 2019-01-31 2021-09-21 Baidu Usa Llc Token based secure multiparty computing framework using a restricted operating environment
CN110262829A (zh) * 2019-05-17 2019-09-20 平安科技(深圳)有限公司 私有镜像生成方法、装置、计算机设备及存储介质
CN112306843A (zh) * 2019-07-29 2021-02-02 北京中关村科金技术有限公司 一种测试方法、装置以及存储介质
CN110531984B (zh) * 2019-08-08 2023-06-23 金蝶软件(中国)有限公司 代码编译方法、装置、系统、计算机设备和存储介质
CN113110913B (zh) * 2020-01-13 2024-01-05 中国移动通信集团浙江有限公司 镜像管理系统、方法及计算设备
CN111399865A (zh) * 2020-04-21 2020-07-10 贵州新致普惠信息技术有限公司 一种基于容器技术自动构建目标文件的方法
CN111679890A (zh) * 2020-06-10 2020-09-18 北京金山云网络技术有限公司 服务镜像的生成方法、装置及电子设备
CN112035124A (zh) * 2020-09-03 2020-12-04 中国银行股份有限公司 应用程序部署方法及装置
CN112099917B (zh) * 2020-09-08 2022-02-11 中国电力科学研究院有限公司 调控系统容器化应用运行管理方法、系统、设备及介质
CN112181606B (zh) * 2020-11-04 2024-05-24 石化盈科信息技术有限责任公司 一种容器配置更新方法、装置、系统、存储介质及电子设备
CN113230660B (zh) * 2021-06-09 2022-10-14 腾讯科技(深圳)有限公司 应用程序更新方法、装置及设备
CN113448601B (zh) * 2021-08-30 2022-01-11 阿里云计算有限公司 基于内容分发网络的软件包安装方法、装置、设备和系统
CN113806015B (zh) * 2021-09-03 2023-12-12 上海云轴信息科技有限公司 一种基于arm架构的虚拟路由网络构建方法及设备
CN114116487B (zh) * 2021-11-29 2024-03-15 北京百度网讯科技有限公司 压力测试方法、装置、电子设备及存储介质
US20230208828A1 (en) * 2021-12-23 2023-06-29 Dell Products, L.P. Layered workspace endorsement and verification
CN114281706B (zh) * 2021-12-30 2023-09-12 北京瑞莱智慧科技有限公司 一种模型测评方法、系统及存储介质
CN115268909A (zh) * 2022-07-23 2022-11-01 杭州沧浪健康管理有限公司 一种web前端创建并运行构建任务的方法、系统和终端
CN115562690B (zh) * 2022-12-05 2023-04-18 杭州未名信科科技有限公司 基于Docker容器的算法服务处理方法、装置及介质
CN116737173A (zh) * 2023-08-11 2023-09-12 华控清交信息科技(北京)有限公司 一种在k8s容器集群上的服务集成方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528200A (zh) * 2016-10-08 2017-03-22 广州视睿电子科技有限公司 一种基于docker compose的持续集成方法及装置
WO2017106726A1 (en) * 2015-12-18 2017-06-22 Amazon Technologies, Inc. Software container registry service
CN106888254A (zh) * 2017-01-20 2017-06-23 华南理工大学 一种基于Kubernetes的容器云架构及其各模块之间的交互方法
CN106997297A (zh) * 2017-03-31 2017-08-01 广东亿迅科技有限公司 一种基于DevOps的软件开发管理平台及方法
CN107766126A (zh) * 2017-11-15 2018-03-06 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824614B (zh) * 2015-12-15 2019-05-17 广东亿迅科技有限公司 基于Docker的分布式开发环境的搭建方法及装置
CN106325975A (zh) * 2016-09-09 2017-01-11 浪潮软件股份有限公司 一种利用Docker容器自动化部署与管理大数据集群的方法
CN106487815B (zh) * 2016-12-21 2019-10-18 乾云众创(北京)信息科技研究院有限公司 一种基于白名单的容器运行安全验证处理方法及系统
CN106873975B (zh) * 2016-12-30 2020-09-29 武汉默联股份有限公司 基于Docker的devops持续交付与自动化系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017106726A1 (en) * 2015-12-18 2017-06-22 Amazon Technologies, Inc. Software container registry service
CN106528200A (zh) * 2016-10-08 2017-03-22 广州视睿电子科技有限公司 一种基于docker compose的持续集成方法及装置
CN106888254A (zh) * 2017-01-20 2017-06-23 华南理工大学 一种基于Kubernetes的容器云架构及其各模块之间的交互方法
CN106997297A (zh) * 2017-03-31 2017-08-01 广东亿迅科技有限公司 一种基于DevOps的软件开发管理平台及方法
CN107766126A (zh) * 2017-11-15 2018-03-06 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262941A (zh) * 2019-05-28 2019-09-20 深圳市汇川技术股份有限公司 应用程序容器集群报警实现方法、系统、设备及存储介质
CN110262941B (zh) * 2019-05-28 2023-06-16 深圳市汇川技术股份有限公司 应用程序容器集群报警实现方法、系统、设备及存储介质
CN112148419B (zh) * 2019-06-28 2024-01-02 杭州海康威视数字技术股份有限公司 云平台中镜像管理方法、装置、系统及存储介质
CN112148419A (zh) * 2019-06-28 2020-12-29 杭州海康威视数字技术股份有限公司 云平台中镜像管理方法、装置、系统及存储介质
CN110413294A (zh) * 2019-08-06 2019-11-05 中国工商银行股份有限公司 服务发布系统、方法、装置和设备
CN110413294B (zh) * 2019-08-06 2023-09-12 中国工商银行股份有限公司 服务发布系统、方法、装置和设备
CN110825399A (zh) * 2019-11-07 2020-02-21 郑州悉知信息科技股份有限公司 一种应用程序的部署方法及装置
CN110825399B (zh) * 2019-11-07 2024-02-20 郑州悉知信息科技股份有限公司 一种应用程序的部署方法及装置
CN111176782A (zh) * 2019-11-08 2020-05-19 腾讯云计算(北京)有限责任公司 一种在线实验方法和装置
CN111176782B (zh) * 2019-11-08 2023-11-03 腾讯云计算(北京)有限责任公司 一种在线实验方法和装置
CN111090437A (zh) * 2019-11-19 2020-05-01 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN111090437B (zh) * 2019-11-19 2024-03-12 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN111008016A (zh) * 2019-11-29 2020-04-14 宝付网络科技(上海)有限公司 一种基于docker容器多环境编译系统及方法
CN111008016B (zh) * 2019-11-29 2024-05-14 宝付网络科技(上海)有限公司 一种基于docker容器多环境编译系统及方法
CN111240910A (zh) * 2020-01-02 2020-06-05 北京航天测控技术有限公司 设备健康管理微服务生成方法、装置、设备及可读介质
CN111240910B (zh) * 2020-01-02 2024-04-05 北京航天测控技术有限公司 设备健康管理微服务生成方法、装置、设备及可读介质
CN111399897A (zh) * 2020-02-21 2020-07-10 北京值得买科技股份有限公司 基于kubernetes的应用发布方法以及系统
CN113377489A (zh) * 2020-03-09 2021-09-10 中科星图股份有限公司 基于云平台的遥感智能监测应用的构建运行方法和装置
CN111399855B (zh) * 2020-03-09 2023-10-20 山东省电子口岸有限公司 一种基于容器技术的自动化应用实例发布方法
CN111399855A (zh) * 2020-03-09 2020-07-10 山东汇贸电子口岸有限公司 一种基于容器技术的自动化应用实例发布方法
CN111427664B (zh) * 2020-03-25 2024-04-12 杭州电子科技大学 基于容器的协议解析方法、装置、系统以及存储介质
CN111427664A (zh) * 2020-03-25 2020-07-17 杭州电子科技大学 基于容器的协议解析方法、装置、系统以及存储介质
CN111459509A (zh) * 2020-03-27 2020-07-28 北京金山云网络技术有限公司 容器镜像的构建方法、装置和服务器
CN111522627A (zh) * 2020-04-26 2020-08-11 杭州威佩网络科技有限公司 一种Docker镜像管理方法、装置、设备及介质
CN111522627B (zh) * 2020-04-26 2023-11-28 杭州威佩网络科技有限公司 一种Docker镜像管理方法、装置、设备及介质
CN113296873A (zh) * 2020-05-15 2021-08-24 阿里巴巴集团控股有限公司 镜像构建方法和装置、终端设备和计算机存储介质
CN111857797A (zh) * 2020-06-29 2020-10-30 浪潮电子信息产业股份有限公司 一种镜像构建方法、系统及相关装置
CN111857797B (zh) * 2020-06-29 2022-04-22 浪潮电子信息产业股份有限公司 一种镜像构建方法、系统及相关装置
CN111966463A (zh) * 2020-08-18 2020-11-20 江苏安超云软件有限公司 一种容器镜像的构建方法、装置、存储介质及电子设备
CN112181721A (zh) * 2020-09-14 2021-01-05 东云睿连(武汉)计算技术有限公司 一种人工智能作业镜像管理方法和系统
CN112181721B (zh) * 2020-09-14 2024-03-19 东云睿连(武汉)计算技术有限公司 一种人工智能作业镜像管理方法和系统
CN112148494B (zh) * 2020-09-30 2023-07-25 北京百度网讯科技有限公司 用于算子服务的处理方法、装置、智能工作站和电子设备
CN112148494A (zh) * 2020-09-30 2020-12-29 北京百度网讯科技有限公司 用于算子服务的处理方法、装置、智能工作站和电子设备
CN112506617A (zh) * 2020-12-16 2021-03-16 新浪网技术(中国)有限公司 Kubernetes集群中边车容器的镜像更新方法及装置
CN112506617B (zh) * 2020-12-16 2023-10-24 新浪技术(中国)有限公司 Kubernetes集群中边车容器的镜像更新方法及装置
CN112799777B (zh) * 2020-12-31 2024-04-05 深圳软通动力信息技术有限公司 一种流水线中预热调度的方法
CN112799777A (zh) * 2020-12-31 2021-05-14 杭州朗澈科技有限公司 一种流水线中预热调度的方法
CN113157281B (zh) * 2021-03-26 2024-02-13 北京百度网讯科技有限公司 开发环境的创建方法、装置、电子设备和存储介质
CN113157281A (zh) * 2021-03-26 2021-07-23 北京百度网讯科技有限公司 开发环境的创建方法、装置、电子设备和存储介质
CN113504916A (zh) * 2021-07-23 2021-10-15 京东方科技集团股份有限公司 一种代码更新方法和装置、计算机设备及介质
CN113485795B (zh) * 2021-07-26 2024-03-26 四川万益能源科技有限公司 一种基于多种类型项目的自动化容器启动方法
CN113485795A (zh) * 2021-07-26 2021-10-08 四川万益能源科技有限公司 一种基于多种类型项目的自动化容器启动方法
CN113626043A (zh) * 2021-08-04 2021-11-09 湖北美和易思教育科技有限公司 一种基于Kubernetes的容器开发环境自动打包方法及系统
CN113626043B (zh) * 2021-08-04 2024-04-05 武汉美和易思数字科技有限公司 一种基于Kubernetes的容器开发环境自动打包方法及系统
CN113672368A (zh) * 2021-08-18 2021-11-19 上海哔哩哔哩科技有限公司 任务调度方法及系统
CN113641480B (zh) * 2021-08-27 2023-12-15 四川中电启明星信息技术有限公司 一种基于Kubernetes集群组的任务调度系统及方法
CN113641480A (zh) * 2021-08-27 2021-11-12 四川中电启明星信息技术有限公司 一种基于Kubernetes集群组的任务调度系统及方法
CN113821228A (zh) * 2021-09-30 2021-12-21 奥特酷智能科技(南京)有限公司 一种基于分层容器镜像构建ros或类ros项目的方法
CN113918096A (zh) * 2021-10-21 2022-01-11 城云科技(中国)有限公司 一种算法镜像包的上传方法、装置及应用
CN113918096B (zh) * 2021-10-21 2023-09-22 城云科技(中国)有限公司 一种算法镜像包的上传方法、装置及应用
CN115396122A (zh) * 2022-10-27 2022-11-25 聚梦创新(北京)软件技术有限公司 消息处理方法、装置、电子设备及存储介质
CN115396122B (zh) * 2022-10-27 2023-04-25 聚梦创新(北京)软件技术有限公司 消息处理方法、装置、电子设备及存储介质
CN116074063A (zh) * 2022-12-29 2023-05-05 中国联合网络通信集团有限公司 服务部署及专网隔离的实现方法、装置、设备及存储介质
CN116074063B (zh) * 2022-12-29 2024-06-07 中国联合网络通信集团有限公司 服务部署及专网隔离的实现方法、装置、设备及存储介质
CN116301950A (zh) * 2023-05-15 2023-06-23 北京中诺链捷数字科技有限公司 Docker镜像生成方法、装置、设备和存储介质
CN116680040B (zh) * 2023-07-26 2024-04-05 腾讯科技(深圳)有限公司 一种容器处理方法、装置、设备、存储介质及程序产品
CN116680040A (zh) * 2023-07-26 2023-09-01 腾讯科技(深圳)有限公司 一种容器处理方法、装置、设备、存储介质及程序产品
CN117270886B (zh) * 2023-11-17 2024-02-06 浪潮通用软件有限公司 一种微服务系统开发部署方法、设备及介质
CN117270886A (zh) * 2023-11-17 2023-12-22 浪潮通用软件有限公司 一种微服务系统开发部署方法、设备及介质

Also Published As

Publication number Publication date
CN107766126A (zh) 2018-03-06
CN107766126B (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
WO2019095936A1 (zh) 容器镜像的构建方法、系统、服务器、装置及存储介质
Burns et al. Kubernetes: up and running
US11023215B2 (en) Methods, systems, and portal for accelerating aspects of data analytics application development and deployment
US11178207B2 (en) Software version control without affecting a deployed container
US10908926B2 (en) Plug-in management wrappers
US9672140B1 (en) Processing special requests at dedicated application containers
US9830135B2 (en) Declarative and pluggable business logic for systems management
WO2018117966A1 (en) Methods, systems, and portal using software containers for accelerating aspects of data analytics application development and deployment
US9690558B2 (en) Orchestrating the lifecycle of multiple-target applications
US10656971B2 (en) Agile framework for vertical application development and delivery
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US10114861B2 (en) Expandable ad hoc domain specific query for system management
US9459859B2 (en) Template derivation for configuration object management
US20150220327A1 (en) Extensible data model and service for infrastructure management
US20050223101A1 (en) Computer-implemented method, system and program product for resolving prerequisites for native applications utilizing an open service gateway initiative ( OSGi) framework
WO2020046981A1 (en) Automated code verification service and infrastructure therefor
US9626251B2 (en) Undo configuration transactional compensation
US9501591B2 (en) Dynamically modifiable component model
Rattanapoka et al. An MQTT-based IoT cloud platform with flow design by Node-RED
US20230021416A1 (en) Method and system for a customized local build environment image
US10977218B1 (en) Distributed application development
Thomas et al. Simulation factory: Taming application configuration and workflow on high-end resources
US9652260B2 (en) Scriptable hierarchical emulation engine
Hao Edge computing on low availability devices with K3S in a smart home IoT system
Hicks et al. Integration and implementation (int) cs 5604 f2020

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18879550

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18879550

Country of ref document: EP

Kind code of ref document: A1