In March 2010 Solomon Hykes started the development of Docker. It started in France as an internal project of the company dotCloud. Thanks to a the public release on a big Python conference in 2013 and the interest of Red Hat, Docker really took off. In the last quarter of that same year, the name of the company was changed to Docker Inc. At the time of writing, Docker is by far the biggest player in container virtualization.
Docker was originally built on top of LXC but after a while, LXC was replaced with their own libcontainer library.
The architecture of Docker is quite complex: it consists of a client, Docker, and a daemon, dockerd. Another daemon, containerd, is an abstraction layer for OS and type of container technology that is being used. You can interact with containerd using the (docker-) containerd-ctr utility. The containerd daemon is responsible for the following...