FastBuild: Accelerating Docker Image Building for Efficient Development and Deployment of Container Zhuo Huang1, Song Wu1∗, Song Jiang2 and Hai Jin1 1National Engineering Research Center for Big Data Technology and System 1Services Computing Technology and System Lab, Cluster and Grid Computing Lab 1School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, 430074, China 2Department of Computer Science and Engineering, University of Texas at Arlington, Texas 76019, U.S 1 fhuangzhuo, wusong,
[email protected] [email protected] Abstract—Docker containers have been increasingly adopted is especially desired in a DevOps environment where frequent on various computing platforms to provide a lightweight vir- deployments occur. In the meantime, DevOps also requires tualized execution environment. Compared to virtual machines, repeated adjustments and testing of container images. An this technology can often reduce the launch time from a few minutes to less than 10 seconds, assuming the Docker image image is often iteratively re-built before and after a container has been locally available. However, Docker images are highly is launched from it. To support flexible customization of customizable, and are mostly built at run time from a remote images, Docker adopts a mechanism to build images at the base image by running instructions in a script (the Dockerfile). client side. An image can be built by running a Dockerfile, During the instruction execution, a large number of input files a script containing instructions for building an image, from may have to be retrieved via the Internet. The image building may be an iterative process as one may need to repeatedly modify the a base image that provides basic and highly customizable Dockerfile until a desired image composition is received.