Docker中的默认私有注册表

xeo*_*eor 26 docker docker-registry

我需要在Docker中设置我自己的私有注册表,通常保留所有内部Docker镜像.

为了使这更容易,我希望在内部设置我的Docker图像被调用project/component,就像你从https://index.docker.io/提取的普通Docker图像一样.

我确信,我永远不会从index.docker.io中获取这种格式的图像,所有这些图像都来自我们的内部索引器.即使是格式的图像imagename,centos也会从我们的内部存储库中提取出来.

那么,有没有办法让我更改默认索引器?或者至少将我的私有索引器从端口5000更改为默认尝试的东西; 即,从中获取图像private_indexer.internal/repo_name而不是private_indexer.internal:5000/repo_name.

将index.docker.io放在我们自己的dns中指向我们的内部ip是最好的解决方案吗?

小智 12

您可以private_indexer.internal/repo_name毫无问题地使用.只需在端口80上运行注册表容器(您也可以在前面添加一些反向代理,如nginx或hipache,并将流量从端口80传递到5000).至于更改默认索引url的问题的第一部分,您可能需要更改docker代码并重新编译.我试图在很少的版本之前做到这一点并且它起作用但当时没有像现在那样容易使用私有注册表支持.所以恕我直言最好的办法是坚持用私人注册网址标记所有私人图像.然后你不会失去对公共索引(ubuntu,busybox)中图像的访问权限.

  • 我在源代码中找到了这个地方,他们带走了这个拥有自己的标准索引器的功能.原因是可预测的.基本上,如果你定义`FROM centos`,你会得到同样的东西,无论你有什么设置.逻辑,但有点烦人.. (4认同)