Docker
In March 2010, Solomon Hykes started the development of Docker. It started in France as an internal dotCloud. Thanks to the public release at 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.
Docker was originally built on top of LXC but after a while, LXC was replaced by 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 the OS and the 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:
- The registry (where you can store images)
- The image (building, metadata, and so on)
- Networking
- Volumes (to store persistent data)
- Signing (trust on content)
containerd
communicates...