前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >向Docker桌面版本说不,你可以有更好的选择

向Docker桌面版本说不,你可以有更好的选择

作者头像
御剑
发布2024-06-27 20:09:20
6440
发布2024-06-27 20:09:20
举报
文章被收录于专栏:微言码道

对于我们程序员群体来说,Docker这个容器化虚拟软件几乎是不可或缺的工具。

Docker本质上其实是基于Linux内核及其提供的一些功能实现的,比如Namespace命令空间, Cgroups控制组,LXC Linux容器技术等。所以,Docker这个工具一定是依赖Linux才能运行。

虽然有少部分程序员可能在使用Linux做为桌面主力系统,但相信大多数并不是如此,对桌面系统来说,Windows和MacOS可能才是更主流的选择,所以我们需要更方便的在Windows与MacOS上使用Docker这个工具。

当然, Docker本身提供Docker Desktop For WindowsDocker Desktop For Mac来分别支持在Windows上以及MacOS运行和使用Docker。它们都是通过虚拟化技术,在底层虚拟一个Linux来实现的。

但实话实说,个人认为它们并不好用,内存使用高,磁盘占用大,性能表现也不佳,我个人非常不喜欢用这两个玩意。

那是我们是否有其它选择?

当然会有的。这篇文章我就做个大致介绍。我将分别介绍在Windows及MacOS下有哪些替代选择。

Windows & WSL

如果你用的是Windows, 那我推荐你使用WSL。事实上,使用Windows的程序员都应该尝试了解与使用WSL。

WSL全称是Windows Subsystem For Linux. 它可以非常方便的在你的Windows上安装一个Linux子系统,支持带GUI及不带GUI的版本。它支持Ubuntu, Debian, Arch Linux等主流的桌面及服务器版本Linux.

再结合Windows Terminal以及Visual Studio Code中的Remote插件,你几乎可以在Windows上以一种相对完美的方式去运行与使用一个Linux系统。

一方面这样你又享受到了Windows完美的软件生态桌面体验,又能无缝使用Linux,几乎一举两得。以至于行业内流行一句话:Windows才是最好的Linux发行版本

有了WSL支撑的Linux系统,自然在这个Linux中安装一个Docker,也是非常方便的事。它会比你使用Docker Desktop For Windows在各方面都体验更好。

MacOS & Orbstack

如果是MacOS, 除了Docker Desktop For Mac以外,选择其实也非常多。在这里我就介绍两个,第一个就是Orbstack

MacOS其实是Unix系统,并非Linux系统。虽然很多情况下,使用它与使用Linux几乎有非常接近的体验,比如命令行termial, 常用的命令。

但Docker并不属于这个范围内,因为Docker是基于Linux内核的一些技术实现,所以它并不原生支持MacOS, 因此Docker Desktop For Mac也是通过在底层虚拟Linux来实现的。

如果你想在MacOS下寻找更好的方案,Orbstack是你可以考虑的第一个选项。

Orbstack是一个商业解决方案,专门为MacOS提供Linux虚拟机支持,有点类似Windows中的WSL。

OrbStack可以帮助你在MacOS上轻松的创建与管理不同的Linux虚拟环境。同时也支持创建Docker环境。(其实就是在一个Linux虚拟机中安装Docker)实现和WSL非常类似。

Orbstack是一个商业解决方案,但对个人使用是免费的。你可以访问https://orbstack.dev/以了解。

MacOS & Lima

前段时间我介绍了Lima这个工具。它是一个完全的开源解决方案。Lima主要是帮助你在MacOS上方便的创建Linux虚拟环境,它会根据你的MacOS的芯片来决定底层是使用Qemu还是Apple原生虚拟化技术。

比如我的M1芯片的MacOS, Lima是用Apple提供的虚拟化技术来虚拟Linux, 性能及各方面表现都非常完美,而且是一个开源的解决方案。

访问这篇我以前写的文章以了解Lima,善用开源,MacOS下绝佳的Linux虚拟化工具 - Lima

Lima和Orbstack的主要区别在于:

  • Lima是开源的,Orbstack是商业
  • Lima是一个纯SHELL工具(无GUI),Orbstack同时支持GUI及Shell命令操作。

所以,如果你喜好开源,又不介意只用Shell命令来做这些事,我认为选择Lima是更好的选择。

最后

使用上述解决方案,比如Lima。相比使用Docker Desktop For Mac来说,有明显的优势,表现在:

  • 无缝体验,直接在MacOS就能使用docker命令,和在Linux上的使用体验几乎完全一样。
  • 性能表现更好。我一般限制Lima运行docker环境的虚拟环境,2GB内存,20GB硬盘空间。大多数情况下足够使用,有需要随时修改这些限制
  • 空间占用更少。而且可以随时撤销与重建,不再担心磁盘占用问题。
  • 开源的解决方案,更可靠。

如果是MacOS,选择Orbstack可能更省事,还有直观的UI支持。选择Lima则更没有License,是否商业支持等这方面的担忧。我个人偏好开源的选择,所以当然选择Lima。

后面我再详细介绍如何在MacOS上结合Lima搭建一个支持Docker工具的环境。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微言码道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Windows & WSL
  • MacOS & Orbstack
  • MacOS & Lima
  • 最后
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档