繁体   English   中英

package 和容器有什么区别?

[英]What is the difference between a package and container?

GitHub 最近与他们的 package 注册表一起发布了一个容器注册表。 有什么不同? 什么时候使用一个或另一个更好? 我们都需要吗?

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

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

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

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

  • 包用于代码模块,这些代码模块一起编译成一个应用程序。
  • 容器用于一起编译到服务器中的应用程序。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM