Sybil Asked: 2016-08-06 07:31:37 +0800 CST2016-08-06 07:31:37 +0800 CST 2016-08-06 07:31:37 +0800 CST Docker 和 Snap 的主要区别是什么? 772 在最近的 c't(可悲的是付费墙)中,有一篇关于 Snap 和 Flatpak 的文章。 这听起来和 Docker 很像,很多概念都是一样的。现在我的问题是 Snap 和 Docker 之间有什么区别?这些是不同的用例吗? ubuntu-core 1 个回答 Voted Best Answer Robie Basak 2017-01-07T07:32:52+08:002017-01-07T07:32:52+08:00 您可能会在 Container Camp上找到与您的问题相关的 Mark Shuttleworth 的演讲“为什么我们需要一个完全用于应用程序的不同容器” 。他在开始时一般谈论虚拟机、容器和 Docker,然后继续讨论快照以及它们如何在大约 9 分钟内适应。这是我的总结: 不同类型的容器看起来相同,但用于不同的目的。 容器实际上并不存在于内核级别。不同种类的错觉是可能的。独立地,我们可以创建关于容器看到的用户、网络、磁盘和进程的错觉。 不同类型的容器实际上是关于所创建的不同类别的错觉。 快照是: 不可变,但仍然是基本系统的一部分。 在网络方面集成,因此共享系统 IP 地址,不像 Docker,每个容器都有自己的 IP 地址。 换句话说,Docker 给了我们一个东西。Snaps在这里给了我们一件事。例如,在桌面上,快照会在其上提供应用程序。 一个快照不会污染系统的其余部分。它在自己的盒子里。但它仍然可以看到(只读)系统的其余部分,这允许它与系统对话和集成。 您询问了与 Docker 相比的不同用例。这是 snap 可以做到但 Docker 不能做到的:桌面应用程序。第三方可以使用 snap 发布桌面应用程序,用户可以轻松安装和更新它们。Docker 容器不能(轻松地)在屏幕上以图形方式与用户交互、从用户的主目录加载文档或通过用户的网络摄像头提供视频会议。快照可以(一旦获得许可)。 您可能会问这比使用 PPA 更好。但与 Docker 相比,这就像是在问 Docker 比在系统上手动安装依赖项更好。它更好,但在一个单独的、非 Docker 特定的问题中,究竟如何才能得到最好的回答。
您可能会在 Container Camp上找到与您的问题相关的 Mark Shuttleworth 的演讲“为什么我们需要一个完全用于应用程序的不同容器” 。他在开始时一般谈论虚拟机、容器和 Docker,然后继续讨论快照以及它们如何在大约 9 分钟内适应。这是我的总结:
您询问了与 Docker 相比的不同用例。这是 snap 可以做到但 Docker 不能做到的:桌面应用程序。第三方可以使用 snap 发布桌面应用程序,用户可以轻松安装和更新它们。Docker 容器不能(轻松地)在屏幕上以图形方式与用户交互、从用户的主目录加载文档或通过用户的网络摄像头提供视频会议。快照可以(一旦获得许可)。
您可能会问这比使用 PPA 更好。但与 Docker 相比,这就像是在问 Docker 比在系统上手动安装依赖项更好。它更好,但在一个单独的、非 Docker 特定的问题中,究竟如何才能得到最好的回答。