Seems like unnecessary complexity to me. What about skipping the cache tricks until Docker releases a version that handles all thing cache related in a better way?
I feel caching is one of those things that Docker hasn't spent enough time on. The Developer is left with a bunch of "techniques" to overcome its shortcomings.