One changed byte early in a Dockerfile throws away everything after it. Here is how the cache key is computed and how to order instructions so it survives.