On Sun, 2016-08-21 at 14:55 -0400, Randy Barlow wrote:
When the docker client attempts to pull,
the first thing it does it to perform a GET /v2/. The registry *must*
respond with a particular header that indicates that it is a Docker
v2
registry, and include {} as the body response. Due to the way our
mirrors currently operate, I do not believe we will be able to have
the
/v2/ path without negotiating for that with our mirrors. I suspect
that
many mirror admins would not like to give us that path. This is why
the
plan is to have all Fedora docker clients perform docker pull against
Mirror List, so that Mirror List can send the required /v2/ response
and then send them the metalink when the user requests the manifest.
I don't know why it didn't occur to me before, but there is one more
option we could consider. We could also write a patch for the docker
client to allow a path other than /v2/ to be specified during a Docker
pull. Of course, this patch may also be difficult to get accepted
upstream, but if we could get it accepted upstream it might make
negotiation with mirror admins easier. The docker client will still
look for the header that declares the other end to be a v2 registry
though, so mirror admins would still need to make sure that header is
sent with requests in the Docker path.