什么是容器(即docker)和封装的包装(即扁平包装,卡扣)之间的概念和实际的区别?

我经常读到这两个概念是完全不同的,但我找不到一个很好的解释。 束缚依赖和限制与外界的交谈。

我应该何时将我的应用程序打包到容器中进行部署? 什么时候封装封装会更好?

Flatpack提供了一个线索,其常见问题包括 :

Flatpak是一个容器技术吗?

它可以,但不一定是。 由于桌面应用程序需要进行相当大范围的更改,以便在容器中运行时可以使用,所以很可能会在早期大部分时间将Flatpak部署为便捷的库捆绑技术,随着时间的推移,沙盒或集装箱将逐步分阶段用于大多数应用程序。

尽pipe我们在谈到Flatpak时尽量避免使用术语容器,因为它倾向于与Docker和Rocket进行比较, 由于这些技术尝试解决的问题空间非常不同 ,所以比较会迅速停止技术性的比较。 因此,我们更喜欢使用术语沙箱。

Flatpak与Linux绑定?

是。 我们明确地使用了linux内核的许多特性(bind mounts,namespaces,seccomp等)来创buildFlatpak应用程序运行的沙箱。在其他内核上使用等效技术也许是可能的,琐碎的工作量,我们不认为这是我们的优先事项之一。

一个容器的目的是在任何实现了它的runc / containerd协议的系统上提供隔离,并且即将在Windows和Linux上提供隔离。

这与软件打包格式有很大的不同。
请参阅“ Flatpak,Appimage和Snap – 它们如何叠加? ”。

Interesting Posts