I have a n docker files each corresponding to one image with layers from 1..m common to all of them. The steps specifically includes pulling the base image from a public registry, installing the bare minimum essentials for application running. Due to nature of use case after a periodic interval I am downloading a different docker image that has same base and initial installations but a different application layer.
Question 1:
The docker pull time for some of them is very large based on layers after the layer m or the common layers. Is there a way to cache these first m layers (common installations) so that I can save on some time for subsequent pulls?
Question 2: Is it possible to pull only the subsequent layers meaning from layer m onwards?
What you are asking is exactly what docker does. You can refer to the storage driver docs which talks about this exact situation
It goes on to talk about your exact case