Docker private registry : How to list all images

Hi All,

I have configured docker private registry (registry:2 ) and am able to push the images created by me, so that my team can use the same.I have been pushing many images to it successfully.

I would like to know how to list all images in my private registry, is there any command to find out it?

Can you please help me.

Thanks,
Prathap

Hi,

AFAIK this isn’t possible with registry alone , you have to use an external service to index your registry content.
to ease the deployment and administration of your registry, you can look at 2 nice tool :slight_smile:

Hoping this helps,

Regards,

I’m adding support for DockerCloud to GrandCentrall.

It takes git hashes and looks for the corresponding docker images, and deploys them. I need to consult our private repo to see if a git hash has corresponding docker images or not, and ended up with this very very very awful hack:

Yep. I basically create a service, see if it starts up successfully, and then if it does, it exists. If it doesn’t, then it doesn’t exist. Ugh. I spent hours trying to make a crawler to hit the docker cloud website… the react front end defeated me!

https://xxx.xx/v2/_catalog

Thanks this work for me.

curl https://username:password/domainname.com/V2/_catalog

Further reading on the Docker Registry v2 REST API: https://docs.docker.com/registry/spec/api/

Docker search registry v2 functionality is currently not supported at the time of this writing. See discussion since Feb 2015: “propose registry search functionality #206” https://github.com/docker/distribution/issues/206

I wrote a script that you can find: https://github.com/BradleyA/Search-docker-registry-v2-script.1.0 It is not pretty but it gets the information needed from the private registry.

Official documentation to list docker repositories

GET /v2/_catalog

List image tags

GET /v2/<name>/tags/list

try for ex;
curl -ik --user admin:admin123 https://m1.example.com/v2/_catalog

v in lowercase, indeed. /v2/

If I request V2 in upper, it’s a 404.

I basically installed a web server, php, and whipped up a quick index.php page that basically parsed /var/lib/registry/docker/registry/v2/repositories and then looped through that list in the _manifest/tags directory to get the tags. Then created it all in a simple table that had image name, tag, and the string used to pull the image to copy/paste into Kubernetes deployments.

Yes, it has a web server but as noted above, it’s not quite as easy as a web page to get the information.

Carl

I pushed my docker images to my private registry and was able to list the pushed images using below commands: (i am running my private Docker registry on 5005 port using command => sudo docker run -d -p 5005:5000 --name my-registry registry:2)

sudo docker tag redis localhost:5005/redis
sudo docker push localhost:5005/redis
curl localhost:5005/v2/_catalog

Output from above 3rd catalog command
{“repositories”:[“nginx”,“redis”]}

Hi,
I built a flask app running on a docker container that shows the images in the registry:

GItHub repo