simplify the Dockerfile for cacheability, and add example of how to run