Docker is written in the Go programming language.
The Docker daemon
The Docker daemon ( dockerd cli ) listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes.
A docker daemon can also communicate with other docker daemons to manage Docker services.
The Docker client
The Docker client ( docker cli ) is the primary way to interact with Docker.
When you use commands such as docker run, docker build, docker pull , the Docker client sends these commands to dockerd .
The docker command uses the Docker API.
The Docker client ( docker cli ) can communicate with more than one Docker daemon.
Continue reading