Simplify docker setup and instructions.

Create multiple Dockerfile's that inherit from each other to prevent
duplication and introduce the binary layering Docker concept.

Instead using shell scripts, use the actual docker commands to facilite
learning by doing.