可以dockerregistry代理支持多个remoteurl?

目前的dockerregistry看起来只支持config.yml中的一个远程URL:

proxy: remoteurl: https://registry-1.docker.io 

所以如果docker问一些其他的图像,像“gcr.io/google_containers/pause-amd64:3.0”,它不会去镜像registry。

是否有可能在一个dockerregistryconfig.yml中configuration多个远程URL?

您需要为要代理的每个远程registry设置一个单独的通道registrycaching。 如果您要对gcr.io/google_containers/pause-amd64:3.0 ,则会直接进入grc.io 要使用直通式高速caching,您需要指向本地高速caching服务器。

如果您没有将服务器限制为仅代理单个源,则由于您指定的是caching主机名而不是远程服务器主机名,因此可能会产生与多个源中的同一图像发生名称冲突的风险。 所以只有代理单一来源是一件好事。

由于registry是作为容器提供的,因此可以在同一台主机上运行多个实例,每个实例都有一个上传源,可以使用不同的暴露端口,也可以将它们放在一个反向代理之后,根据请求中的主机名或path。 有关反向代理的示例,请参阅nginx-proxy和traefik。