每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。

了解有关 Docker 桌面和 Rancher 桌面的更多信息。

我经常被问到Docker Desktop和Rancher Desktop之间的比较。由于我已经离开 Rancher Desktop 并在 SUSE 从事其他工作,我认为现在是写下我的一些想法的好时机。请注意,现在有一个了不起的团队正在研究它。他们非常有才华,并且做得比我想象的要好。

首先,我需要说一下我对从事 Docker Desktop 工作的人的尊重。在开发跨平台容器桌面应用程序后,我了解到您必须处理的许多细微差别。他们做了很多微妙的工作,我学会了欣赏。

Rancher Desktop 一开始并没有与 Docker Desktop 相提并论。刚开始时,一切都是关于 Kubernetes 和在桌面上使用 Kubernetes 的一种体验。构建和运行容器不在最初的路线图上。随着时间的推移,这些以容器为中心的功能来自对 Kubernetes 有需求的最终用户。例如,能够构建一个容器镜像,然后在 Kubernetes 中使用它,而无需在循环中使用 OCI 注册表。

如今,许多人可以使用 Rancher Desktop 作为 Docker Desktop 的替代品。

在充分披露的情况下,我启动了 Rancher Desktop。所以,当我写这篇文章时,我正在谈论我的一个项目。记在脑子里。

废话不多说,简单对比一下:

特征码头工人桌面牧场主桌面运行 Kubernetes✓✓构建镜像/运行容器✓✓在 Windows、Mac 和 Linux 上运行✓✓开源软件X✓Docker CLI 和 dockerd(带有套接字1)✓✓ 2扩展✓X选择您要使用的 Kubernetes 版本X✓ 3nerdctl 4 / 容器X✓ 5在 Kubernetes 6中端口转发服务的用户界面X✓容器镜像漏洞扫描✓✓

当然,从 GUI 设计风格到后端(我只是怀疑,因为我不会对 Docker Desktop 进行逆向工程)到功能有很多不同。这些是您在自己的评论中自行决定的事情。

总之,如果你喜欢容器或 Kubernetes,那么 Rancher Desktop 值得一试。

脚注

  1. dockerd 套接字很重要,因为许多工具(例如 Visual Studio Code)直接通过套接字进行通信。
  2. Rancher Desktop 使用开源代码库(例如Moby)来提供此功能。
  3. Rancher Desktop 允许您选择运行任何版本的K3s。通过这种方式,您可以将 Kubernetes 的本地版本设置为与您在开发、QA 或生产中使用的版本相同。
  4. Moby 提供的 dockerd 使用 containerd 作为其运行时。如果你选择直接使用 containerd,你可以使用 nerdctl 作为 Docker-compatible-ish CLI。它实现了许多 Docker CLI 命令,可以替代许多用例。请注意,并非所有 Docker CLI 命令都已实现,这就是我添加“-ish”的原因。如果您正在寻找一个可以贡献的项目,这是一个很好的项目。
  5. Rancher Desktop 允许您在 dockerd(由 Moby 提供)和 Docker CLI 或 containerd 和 nerdctl 之间进行选择。
  6. 本地端口转发在 Kubernetes 中很有用,因为您可以将集群中的某些内容暴露给外部工具进行开发。UI 可以提供简单的体验,而不是使用 CLI 工具,只需单击一个按钮并在本地公开服务。