If you have used linux docker anytime, you must have experienced simple steps to depoly a container, let ubuntu. It involves step to execute "docker pull ubuntu". This simple step fetches ubuntu docker image from server (hub.docker.com) and installs fetched image to your box. You can also host your own registry server and host docker images of your choice.
The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images.
Docker hub provides a free-to-use, hosted registry. However, you can use your own Registry , if you want to:
tightly control where your images are being stored
fully own your images distribution pipeline
integrate image storage and distribution tightly into your in-house development workflow
Check for docker images
root:/personal/# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 f8bd1e6f7e58 5 weeks ago 196.6 MB
registry latest ad8da6d14f6d 4 days ago 33.31 MB
Start your registry
docker run -d -p 5000:5000 --name registry registry:latest
Tag the image so that it points to your registry. To know the image list, use "docker images" command
docker tag ubuntu:14.04 localhost:5000/myfirstimage
Push it
docker push localhost:5000/myfirstimage
Pull it back
docker pull localhost:5000/myfirstimage
Pull your first image from registry server
root:/personal/# docker pull localhost:5000/mycpximage
latest: Pulling from localhost:5000/mycpximage
b28db778d4f7: Already exists
2334d959c0cf: Already exists
....
..
Digest: sha256:7d90bc6f7a7ea244e2d3ee22aa23486cf5b0f37f75f0d1f6b95dc50382b1f341
Status: Image is up to date for localhost:5000/mycpximage:latest
To stop registry server, simply remove the registry container instance
To stop your registry and remove all data
docker stop registry && docker rm -v registry
https://docs.docker.com/registry/deploying/
https://docs.docker.com/registry/