Understanding Docker Layers and Caching