Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Registry not supported #2

Open
checkerbomb opened this issue Dec 20, 2018 · 5 comments
Open

Docker Registry not supported #2

checkerbomb opened this issue Dec 20, 2018 · 5 comments
Labels
enhancement New feature or request

Comments

@checkerbomb
Copy link

The Docker Hub and Docker Registry APIs appear to be different. Different JSON is returned when querying the two most similar URLs:

https://registry.hub.docker.com/v2/repositories/jippi/hashi-ui/tags/?page_size=2048
http://my.docker.registry.com/v2/namespace/repo/tags/list?n=2048

It looks like mirror.go is expecting 'count' etc, that is not present in the Registry JSON. I'm sure there are other differences but I did not pursue much further once I realized the APIs were different.

Scrubbed example of Registry JSON:
{"name":"namespace/reponame","tags":["0.1.0-10","0.1.0-11","0.1.0-13","0.1.0-14","0.1.0-15","0.1.0-16","0.1.0-17","0.1.0-18","0.1.0-19","0.1.0-2","0.1.0-20","0.1.0-21","0.1.0-22","0.1.0-23","0.1.0-24","0.1.0-25","0.1.0-26","0.1.0-27","0.1.0-28","0.1.0-29","0.1.0-3","0.1.0-4","0.1.0-6","0.1.0-7","0.1.0-8","0.1.0-9","latest-ci","latest-qa","latest"]}

@jippi
Copy link
Contributor

jippi commented Dec 20, 2018

I don't have a docker registry to test with :( is there any OSS version ?

@checkerbomb
Copy link
Author

This is what we are running internally: https://hub.docker.com/_/registry/

@jippi
Copy link
Contributor

jippi commented Dec 20, 2018

I might be able to get to this next week or early January

a PR is also welcome

@jippi jippi added the enhancement New feature or request label Dec 20, 2018
@checkerbomb
Copy link
Author

10-4. I ended up scripting something simple that worked for me but I'm sure docker-mirror does a much better job. I am personally not in need of the enhancement at this point but I'm sure it would be useful to others in the future. :)

@tazle
Copy link

tazle commented Jul 9, 2019

I implemented this functionality in a local fork. Will post a PR.

There are some caveats, though: the registry API for getting tags is fairly limited: it only gets you the tags without any kind of last-modified-date information. It's possible to evoke that information from the related manifest (https://stackoverflow.com/questions/32605556/how-to-find-the-creation-date-of-an-image-in-a-private-docker-registry-api-v2) but at least when using Nexus as the registry, getting the manifest is quite slow (several seconds).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants