An Acceleration Method for Docker Image Update
Zhigang Lü, Yuewen Wu, Jiwei Xu, Tao Wang · 2019
Docker encapsulates an application and its supporting software, system library files and other data such as configurations into the image. The updated version of application is encapsulated into a newer image and released by distributing the new image. The image distribution process will spend lots of time that can delay the container start process from milliseconds to seconds or minutes. However, a large amount of data duplication exists among different image versions. Currently, the Docker system adopts the inheritance and hierarchical image loading mechanism to reuse underlying file layers. Nevertheless, there is no reliable reuse mechanism for duplicated data within the application. We developed a system that applies the deduplication method into image distribution to enhance the efficiency by reusing the same data existing in the historical versions. As this method is resource sensitive, it might slowdown the image distribution process under certain situations. So, we propose a decision tree based strategy making method to find out which is the better distribution method between our solution and the default solution. Experimental results showed that our method will increase the speed of docker image update by 7X in our environment.