包装和容器有什么区别?

问题描述 投票:0回答:3

GitHub 最近除了包注册表之外还发布了容器注册表。有什么不同?什么时候使用其中一种更好?我们两者都需要吗?

docker npm kubernetes package containers
3个回答
2
投票

包通常很简单:它们本质上是一个包含内容(代码库、应用程序可执行文件等)的存档(即 zip 文件)和一个用包名称描述这些内容的清单文件(json 文档、xml 文件等)和版本号(至少)。 即:- npm、pip 和composer 包。

容器镜像也很简单,但它们更像是存档(即 zip 文件)而不是包。 即:- nginx、redis 等

结论:-如果某些库在任何项目中重复使用,那么我们可以创建包并在项目中使用。而对于所有基于项目的依赖项,我们需要选择容器来运行它。是的,我们两者都需要。


1
投票

与一位使用 Docker 的朋友争论了一段时间后,我想我已经找到了令人满意的解释:

  • 包用于一起编译成的代码模块 申请。
  • 容器用于将应用程序一起编译成一个 服务器。

这有点令人困惑,因为一个包可以包含一个独立的应用程序,而容器通常会使用像 Apt 这样的包管理器来安装这些应用程序。我觉得这是对包管理的滥用,因为我们没有容器。最终我希望大多数应用程序将以容器形式交付。


0
投票

包装

包是代码的集合。想象一下有人将代码放入一个盒子中并将其运送给您,以便您可以导入它并与您自己的代码结合使用。一个例子是可下载的版本库。

容器

容器就像一个虚拟环境,因此一切都可以完全按预期运行,因此您不必担心版本控制和兼容性。

总结

将套件视为汽车中的组件:启动系统、制动器等,只要这些组件能够协同工作,您就可以更换部件。可以将集装箱视为一辆全新的汽车。您可以直接启动它,而不必担心它的所有机制。

© www.soinside.com 2019 - 2024. All rights reserved.