Introducing Containers with Docker
Docker is a platform that has risen to prominence in the last three years; it was born out of the desire to simplify the process of building, shipping, and running applications. Docker is not the inventor of the container, Jacques Gélinas created the VServer project back in 2001, and since then the other main projects have been LXC from IBM and rkt from CoreOS.
If you would like to read more about the history, then I recommend this excellent blog post by Redhat: http://rhelblog.redhat.com/2015/08/28/the-history-of-containers, this section is going to concentrate on Docker which is by far the most popular current technology.
The concept of a container is process isolation and application packaging. To quote Docker:
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. ... Containers isolate software from its surroundings,...