Canonical
26 September 2023
Docker 与 Snaps 的逐项比较信息图
Docker 项目是由平台即服务(PaaS)公司 dotCloud 所发起,其创建 Docker 的目的是运行其内部基础架构。慢慢地,Docker 所取得的成功盖过了他们的任何其他产品,因此 dotCloud 更名为 Docker Inc.。Docker 提供的工具简单易用,其已然变成了一个完整的容器管理生态系统。许多开发人员已经学会将其作为工具包的一部分,用于打包和分发应用到云端,或者更广泛地用于开发和测试阶段。
Snaps 由 Ubuntu 的发行商 Canonical 所推出,是打包和分发 Linux 应用的一种方式。人们越来越需要简化在不同Linux风格、版本甚至计算类型上运行的应用程序的部署。而 Snaps 提高了整个系统的安全性,并且优化了软件更新生命周期,包括无线更新和自动回滚的基础架构。Snaps 背后的理念是将 Linux 应用与运行应用的操作系统解耦,同时仍然通过专用接口提供对主机资源的安全访问,并且尽可能多地重用最小稳定版本的 Ubuntu。
总而言之,Docker 容器主要侧重于覆盖云用例和开发人员工作流,而 Snaps 旨在重塑 Linux 应用的打包和分发方式。
因此,Docker 提供的是一种快速有效的云服务容器化方式,而 Snaps 则对 Linux 应用的分发非常有用。
就 Linux 应用而言,二者均可打包成 Docker 镜像或快照。它们都直接在 Linux 上运行,并且需要通过兼容层才能在 Windows 或 macOS 上运行。下面的信息图对以上两种技术、各自的用途以及物联网部署的基本特性进行了简要逐项比较。如需了解更多关于该话题的信息,您也可以下载我们关于物联网中 Docker 容器使用注意事项的白皮书,并了解如何将 Docker 项目迁移至 Snaps。

