When you request container from image,docker usually it looks for container image locally on a system, if its not there, it will download it to your system from somewhere, i.e. Docker Hub Regitry

What is Private Docker Registry ?

If you want to keep your images private to yourself only, instead of going them over internet, you want to save to time by pushing and pulling them locally, at that point, Private Docker Registry comes into picture.

NOTE :- Docker is not required for Docker registry Server.

Following example shows how to deploy Docker registry on fedora(22 or later):

Setting Up a Docker Registry in Fedora

$ dnf install docker-registry
$ firewall-cmd --permanent --add-port=5000/tcp
$ firewall-cmd --reload
$ systemctl start docker-registry
$ systemctl enable docker-registry
$ systemctl status docker-registry

Allow access to registry for Docker Client

 ADD_REGISTRY='--add-registry localhost:5000'
 INSECURE_REGISTRY='--insecure-registry localhost:5000'
$ systemctl restart docker
$ docker tag private-image localhost:5000/private-image:latest
$ docker push localhost:5000/private-image:latest
$ docker rmi private-image localhost:5000/private-image:latest
$ docker pull localhost:5000/private-image:latest
 $ docker images
 REPOSITORY              TAG    IMAGE ID     CREATED     VIRTUAL SIZE
 localhost:5000/private-image latest 91c95931e552 5 weeks ago 910 B

Thank you !!!