You're right, Docker file system on Windows is "black box" and pretty fragile structure. Images should be stored somewhere under C:\ProgramData\docker (according to this issue). You can try asking @stefscherer - he is an expert in Windows Containers.
Yeah I tried adding C:\ProgramData\Docker\windowsfilter as a cache location but getting permission access errors on some of the files. I assume this is because docker has the images running in the background after the build or something.
It's all good - I wasn't really expecting it to be that easy at this point! Luckily our base images are not too huge so its not a major burden for now.
Not sure what the consensus was on the issue. Is there anything in the pipe as far as caching these images so that they don't have to be pulled on every build? This is going to add a pretty significant amount of time to the build process (particularly in dev and qa environments) which is not so great for our workflow, so we're already talking about possibly switching off of AppVeyor to something self-hosted so that the images will all be available on demand.
If you are thinking about switching to something self-hosted, I would recommend to go ahead and switch to ...self-hosted AppVeyor :)
Options you have are Private Build Cloud and AppVeyor Enterprise (officially releasing soon, but already have a few customer deployments).
With Private Build Cloud you have build workers in-house, with AppVeyor Enterprise also UI/Orchestration server and back-end database. If you are interested in one of those options. let us discuss it over email (team at appveyor dot com).