Docker Layer caching


What about docker caching? I don’t seem to be getting any layers pulled from cache when building. Is there something that needs to be done to enable it?

Getting Started: Docker Engine
Docker machine executor cache workaround

I don’t seem to be getting any Docker image layer caching with executorType: machine… Do I need to save/restore a dir to make that work?


That is worth a try. Layer caching is not yet natively supported.


I am really interested in the Docker caching functionality as it would dramatically improve the speed of our deploy step. Is the intent that this will eventually be supported in both the machine and docker executors? Or is it TBD?



Still TBD, but I know I would love to see it implemented for both. We are definitely striving to support all Docker functionality the best we can.


So I tried saving the images to cache using docker save and docker load, but the cache-save takes so long that it’s faster to just pull and build all the images…


Docker Layer Caching is now in limited release

We are slowly rolling this feature out to limited set of customers.

Please contact your customer success manager for additional details.


8 posts were split to a new topic: Docker Layer Caching on 1.0


I made a request for this and a CircleCI contact said that this has now been enabled for our organization. However, the Docker images used in our machine executor still seems to be downloading fully on every run (I’m not observing any caching of images or layers). When Docker Layer Caching is available, how is it enabled? Are there any specific steps or configuration flags that need to be set to specify what images/layers should be cached, or is any Docker image retrieved as part of a docker run or docker pull expected to be cached automatically?


Hi I’m doing a docker pull and then build but apparently the build is not using the image that was pulled, is that something that’s not developed yet?


You need to enable the cache in the setup-docker-engine step. Since that’s not available on the machine, it is not yet supported there. You can only utilize layer caching from executorType: docker at this time.


You may need to cache the image. Do you have layer caching enabled?
In your build, do you use that image you’re pulling as the FROM in your Dockerfile? If so, does building without the pull result in the expected functionality?


Is there a timetable for bringing docker layer caching to the machine executor type? Alternatively, are there steps we can take to manually cache the containers?


Caching is not available and there is currently no ETA. Any workarounds for caching I’ve seen end up taking more time than it is worth.


I don’t have a support representative. Any way to get the taste of docker layer caching?!? :yum:


It’s only available to paid accounts. If you are paying and don’t have a CSM, just reach out to support.