Add full steps for Dockerfile and a .dockerignore

Adds to #179 by including all steps in the `Dockerfile` (previously they were in a base image with no way to build that image).

I've also added a `.dockerignore` so that unnecessary files will not be pulled in while making the image.