We’ve successfully installed Docker, but, as alluded to earlier, Docker is actually a suite of tools. When we "install Docker", we are actually installing the Docker Engine.
The Docker Engine consists of the following:
- The Docker daemon (mysqld, which runs as a background process):
- a lightweight container runtime that runs your container
- Tools that you need to build your images
- Tools to handle a cluster of containers, such as networking, load balancing, and so on
- The Docker client (mysql), a command-line interface that allows you to interact with the Docker daemon
The Docker daemon and client, together, make up the Docker Engine. This is similar to how npm and node get bundled together.
Docker daemon exposes a REST API, which the Docker client uses to interact with the Docker daemon. This is similar to how the mysql client interacts with the mysqld daemon, or how your terminal shell provides you with an interface to interact with your machine.

We now have Docker installed and are ready to use it to run our application.