Docker is a long-lived daemon process with a thin CLI client which makes it easy to clone()
new processes with their own PID namespaces, network interfaces, root filesystem, mounts, and hostname.
A docker image
contains a filesystem tree (actually an aufs
filesystem which allows one image to be implemented as a "layer" on top of another more "base" image).
A Dockerfile
is a list of instructions for building a docker image.