GitHub最近在其包注册表旁边发布了一个容器注册表。有什么不同?什么时候使用其中一个更好?我们都需要吗?
答案 0 :(得分:2)
包通常很简单:它们实际上是一个包含内容(代码库,应用程序可执行文件等)的档案(即zip文件)和一个清单文件(json文档,xml文件等),其中用软件包名称和版本号(至少)。 即:-npm,pip和composer软件包。
容器图像也很简单,但它们更像是归档文件(即zip文件)而不是软件包。 即:-nginx,redis等
结论:-如果在任何项目中重复使用某些库,那么我们可以创建包并在项目中使用。而对于所有基于项目的依赖项,我们需要选择容器来运行它。是的,我们两个都需要。答案 1 :(得分:0)
与一位使用Docker的朋友辩论了一段时间之后,我认为我找到了令人满意的解释:
对于Package可以包含独立的应用程序这一事实有点困惑,并且Container经常会使用Apt之类的软件包管理器来安装这些应用程序。我觉得这是对软件包管理的一种滥用,因为我们没有容器,这是一种传统。最终,我希望大多数应用程序将以容器形式交付。