Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any API or Web UI project to manage a Docker private registry?

I can't find how to manage images in a private registry. I can push or pull an image because i know the id but how to get the list of pushed images ?

Take for example a person who wants to see the available images under the private registry of his organization. How can she do ?

Unless I'm mistaken, I can't find API or Web UI to discover the registry content like the index.docker.io do with the public registry.

Are there any open source projects to manage this ?

thanks.

like image 908
bwilcox Avatar asked May 16 '14 16:05

bwilcox


People also ask

Can you host your private docker registry?

One server will host your private Docker Registry and the other will be your client server. Docker installed on both servers by following Step 1 and 2 of How To Install and Use Docker on Ubuntu 20.04.

What is docker registry API?

Introduction. The Docker Registry HTTP API is the protocol to facilitate distribution of images to the docker engine. It interacts with instances of the docker registry, which is a service to manage information about docker images and enable their distribution.

What is private registry in docker?

A private Docker registry allows you to share your custom base images within your organization, keeping a consistent, private, and centralized source of truth for the building blocks of your architecture.


2 Answers

Are there any open source projects to manage this ?

There is a containerized web application that provides administration of one-to-many private registries. Its name is Docker Registry UI and it is FOSS.

The source is on Github and you can run it in a container like so:

docker run -p 8080:8080 -v my_data_dir:/var/lib/h2/ atcol/docker-registry-ui

Disclaimer: I wrote the web-app as I could not find one myself. I believe this answers your question (as quoted).

like image 182
Alex Avatar answered Sep 23 '22 01:09

Alex


Thanks Thomas !

To allow the use of the search API, you must start the container by specifying the value of the environment variable SEARCH_BACKEND like this :

docker run -d -e SEARCH_BACKEND=sqlalchemy -p 5000:5000 --name registry samalba/docker-registry 

Then i have a result for this query :

GET http://registry_host:5000/v1/search?q=base  Result : {     "num_results": 1,     "query": "base",     "results": [{"description": "", "name": "test/base-img"}] } 

To list all images, you can do this :

GET http://registry_host:5000/v1/search  Result : {     "num_results": 2,     "query": "",     "results": [        {"description": "", "name": "test/base-img"},        {"description": "", "name": "test/base-test"}] } 

And to know the available versions of an image :

GET http://localhost:5000/v1/repositories/**test/base-img**/tags  Result : {   "0.1": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13",   "0.2": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13",   "0.3": "04e073e1efd31f50011dcde9b9f4d3148ecc4da94c0b7ba9abfadef5a8522d13" } 
like image 44
bwilcox Avatar answered Sep 22 '22 01:09

bwilcox