当前的docker注册表看起来只支持config.yml中的一个远程URL:
proxy:
remoteurl: https://registry-1.docker.io
因此,如果docker询问其他图片,例如“gcr.io/google_containers/pause-amd64:3.0”,那么它就不会进入镜像注册表。
是否可以在一个docker注册表config.yml中配置多个远程URL?
答案 0 :(得分:1)
您需要为要代理的每个远程注册表设置单独的直通式注册表缓存。如果您要对gcr.io/google_containers/pause-amd64:3.0
进行操作,则会直接转到grc.io
。要使用直通式缓存,您需要指向本地缓存服务器。
如果您没有将服务器限制为仅代理单个源,则由于您指定了缓存主机名而不是远程服务器主机名,因此会产生与来自多个源的相同映像发生名称冲突的风险。因此,只代理单一来源是一件好事。
由于注册表是作为容器提供的,因此您可以始终在同一主机上运行多个实例(每个上游源一个实例),具有不同的公开端口,或者将它们放在反向代理之后,该代理将向每个实例发送流量取决于请求中的主机名或路径。有关反向代理的示例,请参阅nginx-proxy和traefik。