私有Docker仓库的镜像复制

4

目前推荐的镜像私有 Docker Registry 的方法是什么?

官方 docker-registry 镜像提供了镜像功能,但仅适用于公共注册表。请参见 文档: “请注意,镜像仅适用于公共注册表。您无法为私有注册表创建镜像。”

我的使用情况: 一个更大的开发团队,在网络受限的办公室工作。他们只从注册表中拉取 docker 镜像。推送是偶尔进行的,并由托管在 AWS 上的 Jenkins box 处理。他们使用的大多数镜像都驻留在我们的密码保护私有注册表中(通过 https 提供)。因此,在本地网络上的一台机器上镜像/缓存注册表是很自然的选择。如果不是因为 https,我会选择 HTTP_PROXY 和本地安装 squid。

我相信我不是唯一在解决 docker 开发带宽问题的人。你怎么做的呢?

2个回答

1
现在可以通过V2注册表配置中的“代理”设置来实现此操作。只需建立另一个注册表(位于与任何其他私有注册表不同的服务器/端口上),并在每个docker引擎上将“--registry-mirror”标志设置为指向它即可。请注意意外推送-如果您希望保持私有,请始终将图像重新标记到私有注册表或私有存储库中。

0

目前,我建议使用(新的)golang注册表(https://github.com/docker/distribution)而不是(v1)python注册表,并使用代理解决方案(使用HTTP_PROXY + 反向代理缓存 - squid或其他任何你喜欢的东西 - 我可能会使用varnish)。

本地支持“镜像”内置于注册表本身中,最终将到来,并且稍后将提供更灵活的传输。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接