Font Size: a A A

Design And Implementation Of An Automatic Application Packaging System Based On Container

Posted on:2021-01-05Degree:MasterType:Thesis
Country:ChinaCandidate:K WangFull Text:PDF
GTID:2428330647450864Subject:Engineering
Abstract/Summary:PDF Full Text Request
Docker is an open source application container engine,which is widely used in various systems.Docker container can provide isolation for the system,separate the execution environment of different applications from each other,so that they do not affect each other during the operation process,which is convenient to deploy applications and improve their security and reliability.For an application already deployed in the host system,there is a need to deploy the application into the docker image to improve its isolation.When the application is deployed into the docker image with the underlying operating system,there is a system compatibility problem and the image contains invalid dependent files.Another deployment method is to deploy the application into an empty image without the operating system.This method avoids the file compatibility problem of the operating system and saves the space occupied by invalid dependent files.However,the prerequisite for successful deployment of an application into an empty image is that when the application runs in a container,all its dependent files can be accessed.To meet this prerequisite,we can collect the dependent files of the application into the image and ensure that the dependencies in the image are correctly searched at runtime.In order to solve the problem of dependency collection when the application is deployed into an empty image,this thesis designs and implements an application automatic packaging management system.In view of the collection of dynamic library files,link files and inter process call files in application dependent files,the following solutions are given in this system:· The traversal algorithm for nested dependency tree of dynamic library.By travers-ing the nested dependency tree of dynamic library,the algorithm collects the dependency files of dynamic library and restores the linked files of dynamic library.· Link tracking algorithm by intercepting read-write system calls.The algorithm collects and restores the application's link dependent files by tracking and parsing the system calls accessed by the application at runtime.· Crawling and recursive packing algorithm for interprocess communication.By crawling the inter process communication of application runtime,the algorithm locates the process communicating with application and collects its dependency recursively.The system has been tested on several open source software,one of which is used for numerical optimization and relies on symbol execution Library(610MB),static program analysis platform(1.2GB),etc.The virtual machine image size of this software is 10.7GB,and the generated docker image size is 1.34 GB,which reduces the dependent file space by about 26%.When the system processes the software,it takes 3.75 seconds to collect 423 valid dependency files from 12243 system calls.
Keywords/Search Tags:Application Packaging, Dependency Collection, Docker Image
PDF Full Text Request
Related items