How to create a great dev environment with Docker