Docker-engine has four elements such as Client, Daemon, Private registry, and Hub. Its prime purpose is to port Software applications from one location to another (For instance, local server to cloud).
- Docker born to simplify the porting of applications.
- Docker supports Containers, which can use to port application code to various regions – Unit, Integration, and Live (Production). As said containers carry image of application. In addition, containers are executable. Here is Docker for Beginners.
Docker client is downloaded along with Docker installation. Its purpose is to interact with Docker engine. In the architecture diagram it is two way communication between client and Docker engine.
It is a server and it communicates with client. Only client can communicate with Docker engine (Host) . In the diagram, it has shown with a two-way arrow (so the server receives and sends responses to the client). The communication will be with the HTTP protocol.
Registry stores images that contain libraries to run an application. You can call these snap-shots ( read-only code). With the images, you can create a container that is executable. Check out what is Docker image?.
Hub is a public registry, which is maintained by Docker Inc. You can find a lot of preinstalled images, which a user can pull and do the experiment, and modify. The communication between Docker Hub and Daemon will be through the HTTP protocol.