Too Long; Didn't Read
Docker is relatively easy to jump into and takes some time to master. It's a best practice to keep your container as agnostic as possible to its environment. It needs to execute all commands further down the dockerfile even if they haven't changed. Using docker-compose is a great addition in that it saves us from writing long and complicated docker commands. It's perfect for local development and for sharing with others to spin up containers for tests and demonstrations. Use Docker's own list of best practices to learn with every technology.