docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 879 forks source link

Support GET /v1/repositories/library/(.*?)/tags #959

Closed eyz closed 9 years ago

eyz commented 9 years ago

I found that I was unable to pull a tagged image from the master golang_impl due to the Docker pull sending "library/" as a prefix to the repoName in the HTTP GET. Since the repoName unexpectedly included "library/", GetRepositoryTags was returning an empty JSON object, and the image could not be located. This resolves the problem by allowing the portion after "library/" to be passed to the existing handler as it expects. My client and server API versions at the time of the failure (and resultant fix) were as follows -

Client version: 1.3.2 Client API version: 1.15 Go version (client): go1.3.3 Git commit (client): 39fa2fa OS/Arch (client): linux/amd64 Server version: 1.3.2 Server API version: 1.15 Go version (server): go1.3.3 Git commit (server): 39fa2fa

dmp42 commented 9 years ago

The registry v1 golang implementation is entirely unsupported, and no effort goes into it. For the sake of it, I'm merging this PR, but I would rather suggest you start looking into the next-generation registry over there: https://github.com/docker/distribution

eyz commented 9 years ago

Thanks for the merge. We use CentOS and RHEL 7, and only Docker 1.3.2 is in EPEL at the moment; we try to use official packages as much as possible. I see Docker 1.5 is required for the new Go-based registry, and I'm looking forward to it. Single binary deployments are great. Cheers!