Docker Registry和Docker Index有什么区别?

3

我刚开始学习Docker,正在通过在线链接了解其工作原理。但是我对于Docker Registry和Docker Index并不是很清楚。我知道你的Docker镜像会存在Registry上,客户端使用pull命令获取图像,然后再从Registry中获取该图像。但我也读到过可以从Index中获取图像,那么这两者之间有什么区别呢?

谢谢。

4个回答

2
我认为Docker镜像存储在哪里?给出了很好的解释:
索引管理用户帐户、权限、搜索、标记和公共web界面中所有美好的东西。
注册表存储和提供实际的镜像资源,并将身份验证委托给索引。
当您运行docker搜索时,它会搜索索引而不是注册表。实际上,它可能正在搜索索引知道的多个注册表。
当您运行docker push或docker pull时,索引确定您是否被允许访问或修改镜像,但注册表是存储或在索引批准操作后将其发送到您的设备的部分。此外,索引会确定该特定镜像位于哪个注册表中,并相应地转发请求。
除此之外,当您在本地工作并运行docker images之类的命令时,您正在与既不是索引也不是注册表的东西进行交互,而是两者皆有的东西。

1

有一点差异,主要是因为开发了两个API,最初是为了由不同的服务提供。

https://github.com/docker/docker-registry 实现了注册表API,而Docker Hub则同时实现了两者。

我知道一个Index的开源实现,可以添加到docker-registry中 -


那个开源实现是什么? - x-yuri
还有,那第二个API有规范吗?此外,关于Docker索引的信息不多,特别是最近的信息。这让我想到,要么这个名称已经过时了,要么它是一个闭源服务和实现细节。 - x-yuri

0

没有区别。两者通常都指的是Docker官方镜像仓库。你也可以将其称为Docker仓库或Docker Hub。它们通常指的是同一个。

你还可以找到或设置一个备用仓库并在那里托管镜像,但是你会将该仓库称为你的仓库或特定名称(例如:totum 仓库)。


0

我对Docker Registry不是很确定。但是,Docker Registry是一种存储镜像的服务,允许您拉取和推送它们。distribution/registry可能是最受欢迎的实现方式。Docker Index是Docker Hub的前身名称。还有一个索引服务器,如果从中提取了注册表v2 API,则似乎剩下了注册表v1 API。也就是说,搜索镜像。显然,Docker Hub既有docker registry又有索引服务器。

更多信息在这里


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