-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
The registry should be able to serve some layers from a different server, if directed to do so. For example, an ISV builds on a Red Hat base image. The ISV layers are served from cdn.isv.com and the Red Hat layers are served from cdn.redhat.com.
Please see docker-archive/docker-registry#662 for some background information on this issue.
Pull
When pulling the layers associated with an image manifest, there should be enough information in the manifest to indicate the specific URL for each layer. For example:
$ docker pull isv/app
bef54b8f8a2f <- served from cdn.redhat.com
8da983e1fdd5 <- served from cdn.isv.com
Push
When pushing an image manifest, there should be some way to indicate different URLs for different layers. If you previously pulled a manifest with that information, it must be retained. It should also be possible to create a new manifest and alter the URL of certain layers. When pushing a layer whose URL differs from that of the registry, the registry should store the metadata about the layer, but the actual content of the layer would not be transmitted (it is assumed to already exist at the specified URL).