There are three docker components, they are - Docker Client, Docker Host, and Docker Registry.
Docker Client: This component performs “build” and “run” operations for the purpose of opening communication with the docker host.
Docker Host: This component has the main docker daemon and hosts containers and their associated images. The daemon establishes a connection with the docker registry.
Docker Registry: This component stores the docker images. There can be a public registry or a private one. The most famous public registries are Docker Hub and Docker Cloud.