网站首页 > 博客文章 正文
对于Windows和MacOS用户来说,Docker Desktop多年来一直是使用Docker Containers的主要方式。虽然对于业余爱好者和小型开发团队来说,它仍然是一个可行的、可用的选择,但最近针对较大用户群的价格变化使人们开始寻找替代品。我自己并不打算取代Docker Desktop,但我有兴趣尝试替代方案,相互比较一下看看它们之间的效果如何。
技术簇
Containers本身并不是一个新的技术概念,但Docker早在2000年中期就普及了这一概念,并在正确的时间以正确的方式进行营销,使这一概念成为主流。
把Docker公司和Docker项目区分开来是很有必要的,因为大多数都很容易把它们混淆,它们是不同的实体。由于这种混淆,Docker公司重新命名并开源了许多与容器有关的技术,促成了现在的 "开放容器计划"(Open Container Initiative, OCI)。
1. Podman(波特曼)
Podman可能是最受欢迎的替代方案,许多来自红帽的贡献者都参与了项目的研发。由于红帽似乎正在计划Podman的商业版本,因此也可以说它是一个 "红帽项目"。
它可用于Windows、macOS和Linux,像这里介绍的许多其他工具一样,遵循与Docker类似的语法,但需要注意以下两点:
1. 默认情况下,你使用podman而不是Docker,但你可以创建一个别名。
2. Docker Desktop默认假设你想使用来自Docker中心的容器镜像,而所有其他替代方案都不做这种假设。这意味着你需要指定你可能经常使用的许多镜像的完整路径,例如,"docker.io/library/busybox"。
Podman与本文介绍的其他替代品(包括Docker Desktop)的主要区别之一是daemonless(无守护进程)。这意味着每个运行中的容器都是作为自己的运行进程运行的,而不是通过一个守护程序。如果Docker守护进程失败,所有运行中的容器都会失败,而在Podman中,只有单个容器会失败。也就是说,我个人从未遇到过Docker守护进程失败的情况,但我没有运行生产工作负载。
像这里的所有其他工具一样,Podman第一次运行时需要在macOS和Windows上创建一个虚拟机来承载容器。在macOS和Windows上,这并不总是必要的,但可以最大限度提高的跨平台(架构)兼容性。Podman使用Fedora CoreOS(又是红帽的关系)和QEMU来运行虚拟机。
Podman desktop
Podman的图形伙伴是Podman Desktop,但在理论上它应该列出由其他runtimes创建的图像和容器。像许多其他图形工具一样,它也增加了与Kubernetes互动的功能。它提供了与Docker Desktop类似的功能,比如:没有遵循任何标准的功能-扩展,但却没有Docker Desktop那么精致,缺乏Docker Desktop提供的一些特定的操作系统功能。
2. Colima(科里马)
仅适用于Linux和macOS,Colima使用Lima在macOS上启用Linux虚拟机。它支持Docker、Containerd和Kubernetes的runtimes,在所有情况下,你需要在Colima旁边安装该运行时。就MacOS上的Docker而言,这与Docker Desktop不完全相同。
尽管Colima使用起来很简单,但你仍然需要在它旁边安装一个runtime,这让我想知道 "Colima是什么?",而且说实话,它所拥有的最小的文档并没有使人更加清晰的理解它。它的口号是 "在macOS(和Linux)上以最小的设置实现容器runtimes",但这仍然没有向我说明为什么我需要它。就我所知,主要原因是使用containerd或作为Kubernetes后端(而不是Docker Dkestop、minikube等),也许支持Docker的主要原因是向下兼容。
3. Rancher desktop
虽然Rancher Desktop主要是作为Kubernetes管理工具,但它也提供Kubernetes之外的一些容器管理功能。它支持使用containerd或Docker运行的容器,并提供与本列表中其他图形化工具相同的大部分功能。同样,QEMU提供了一切运行的虚拟机,没有选项可以改变。它是一个完美的工具,也是更成熟的替代品之一,但我倾向于发现,当你做出改变时,它需要经常重启和重置虚拟机,这变得有点乏味。
4. VMWare Fusion
如果你已经使用VMWare Fusion来运行Windows和Linux虚拟机,它也支持容器。然而,该功能目前只适用于基于英特尔的Mac,尽管安装程序仍在安装CLI工具并给你带来虚假的希望。
5. Parallels
同样,如果你已经拥有并使用Parallels Desktop用于Linux和Windows虚拟机,那么你可以把它作为minikube的后台,它主要针对Kubernetes的使用,但它与容器相关,所以我把它作为一种选择。
我的采取方案
目前,作为一个个人贡献者,我对Docker Desktop很满意,我喜欢它提供的额外功能,以实现与主机操作系统的更高性能和无缝集成。
如果有什么变化使像我这样的人也失去动力,那么我很可能会转而使用Podman,也许会使用Podman Desktop,这将取决于项目当时的状态。各位读者你们的抉择是怎么样的呢?欢迎留下你们宝贵的评论!
- 上一篇: 2022 年要考虑的 7 种 Docker 替代方案
- 下一篇: Docker Hub的替代方案
猜你喜欢
- 2024-12-27 家庭版windows不能安装DockerDesktop的取代方案
- 2024-12-27 mac使用podman替代docker
- 2024-12-27 docker-compose 平替,podman-compose 能够替代 docker-compose吗?
- 2024-12-27 —个Docker的替代方案--rkt
- 2024-12-27 再见 Docker!5分钟转型 containerd
- 2024-12-27 Docker Hub的替代方案
- 2024-12-27 2022 年要考虑的 7 种 Docker 替代方案
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)