GitHub Container Registry 和 Github Packages for Docker 有什么区别?

What is the difference between GitHub Container Registry and Github Packages for Docker?

GitHub 提供了两种存储容器镜像的选项,据我所知:Container Registry 和 Packages,但我认为区别并不明显。 在 a blog post 中,他们说 “使用 GitHub 操作,发布到 GitHub Container Registry 很容易。” 但是给定的示例将图像推送到包,不是 Container Registry。

那么,这两个平台可以互换使用吗?一个比另一个有优势吗?

正如 tgogos the GitHub docs guide on Key differences between GitHub Container Registry and the Docker package registry 所述告诉我们:

The GitHub Container Registry supersedes the existing Packages Docker registry and is optimized to support some of the unique needs of containers.

TLDR; GH 容器注册表将替换包 Docker 注册表。它还 更多地关注 GitHub 组织级别,然后是单个存储库 。因此,例如,您可以在帐户级别找到您的容器映像 - 如果需要,必须稍后将它们 link 选择性地添加到存储库中。 此外,它还具有 匿名访问 Docker 图像 (see the GHCR intro post here) 的特点。

我猜他们迁移的原因是他们想从注册表中删除该名称 'Docker'。原因是 'Docker' 只是另一种创建图像的技术,但是您可以使用其他 CRI(容器运行时图像),如 cri-o、rkt、container-D。这些是 CNCF 活跃的项目。并且,container-D 可能会完全取代 Docker,因为它的受欢迎程度多年来已经增加了很多。 AWS ECS 已开始在其 ECS 实例中使用基于 container-D 的代理,Kubernetes 已停止支持 Docker 作为 v1.22 的默认 CRI。

因此 GitHub 希望他们的客户在将来使用术语 'container'(可以是任何通用词)而不仅仅是 'Docker'。