Docker Desktop 殺手 – OrbStack 教學

對於一個開發者來說,docker 可以說是幾乎每個人都會接觸到的東西,一直以來,我都以為要在 local 上跑 docker 只有 docker 官方開發的 Docker Desktop 可以用,但目前工作上要跑的 container,不但滿耗資源,起 container 的速度也很慢,本來慢到都打算提辭呈了(誤,直到某天意外發現了一個拯救我職涯的好東西 — OrbStack

目录

1. 簡介

2. 與 docker desktop 比較

2.1 Heavy build: Open edX – 比 Docker Desktop 快上 62%

2.2 Heavy build: PostHog – 比 Docker Desktop 快上 63%

2.3 Battery: Kubernetes – 比 Docker Desktop 省下 78% 的耗電量

2.4 Battery: Supabase – 比 Docker Desktop 省下 40% 的耗電量

2.5 Battery: Sentry – 比 Docker Desktop 省下 75% 的耗電量

3. 使用 OrbStack

3.1 安裝 OrbStack

3.2 Migrate Data from Docker Desktop

3.3 從 Docker Desktop 切換為 OrbStack

3.4 設定 OrbStack 可以使用的硬體資源

3.4 设置Docker镜像源

4. 結論


1. 簡介

OrbStack 是個可以完全用來取代 Docker Desktop 的工具,最大的優勢在於,可以更快的啟動 container,吃的資源也比 Docker Desktop 少,也支援 Kubernetes,一但用過就跟瑞凡一樣,回不去了。

不過目前 OrbStack 只支援 macOS,如果是 windows 的使用者,趕緊換台電腦吧!

如果對 OrbStack 底層的技術有興趣,可以參考 OrbStack 的 architecture 文件

 

2. 與 docker desktop 比較

口說無憑,雖然介紹中說了 OrbStack 比 Docker Desktop 快很多,但沒有量化的數據實在很難讓人信服,OrbStack 官方提供了一些測試的數據,放在 document 的 Benchmarks 裡,可以來看一下:

2.1 Heavy build: Open edX – 比 Docker Desktop 快上 62%

Open edX 是個複雜的應用程式,其中包含了:JavaScript, Python, Ruby, MySQL, MongoDB, Redis, Elasticsearch 等等

使用 OrbStack build image 只需要 17 分鐘,而用 Docker Desktop 的話則需要 45 分鐘,整整快了 62% 左右。

2.2 Heavy build: PostHog – 比 Docker Desktop 快上 63%

PostHog 一樣是個複雜的應用程式,用 OrbStack 來 build 只需要 7 分鐘,用 Docker Desktop 的話則需要 19 分鐘,一樣快了 63% 左右。

2.3 Battery: Kubernetes – 比 Docker Desktop 省下 78% 的耗電量

使用 traefik 和 grafana 來測試 OrbStack 和 Docker Desktop 的耗電量

helm repo add traefik <https://traefik.github.io/charts>
helm repo add grafana <https://grafana.github.io/helm-charts>
helm repo update
helm install traefik traefik/traefik
helm install grafana grafana/grafana

OrbStack 的耗電量是 27 mW,而 Docker Desktop 則是 123 mW,省下將近 8 成的電量,詳細的測量方法可以參閱 OrbStack 的文件

2.4 Battery: Supabase – 比 Docker Desktop 省下 40% 的耗電量

用 docker compose 來執行 self-hosted 的 Supabase application,OrbStack 的耗電量是 82 mW,Docker Desktop 則是 137 mW,省下將近 4 成的電量。

2.5 Battery: Sentry – 比 Docker Desktop 省下 75% 的耗電量

用 docker compose 來執行 self-hosted 的 Sentry application,OrbStack 的耗電量是 180 mW,Docker Desktop 則是 726 mW,省下將近 75% 的電量。

3. 使用 OrbStack

3.1 安裝 OrbStack

1. 直接用 brew 來安裝

brew install orbstack

2. 从官网下载dmg安装包进行安装

  

3.2 Migrate Data from Docker Desktop

安裝完成後,OrbStack 會詢問是否要 migrate Docker Desktop 的資料,如果不小心錯過也沒關係,可以直接執行以下 command 來 migrate:

orb migrate docker

3.3 從 Docker Desktop 切換為 OrbStack

如果原本是使用 Docker Desktop,那麼在執行 docker 或 docker compose 相關的指令時,都會適用 Docker Desktop 來執行,在安裝完 OrbStack 後,需要切換 docker context 才會改為用 OrbStack 來執行 docker,不過也可以透過以下指令隨時切換回 Docker Desktop:

# Switch to OrbStack
docker context use orbstack
# Switch to Docker Desktop
docker context use desktop-linux

 切換完 docker context 後,基本上使用的方法就跟原本一樣,只是變成是用 OrbStack 來執行 docker。

3.4 設定 OrbStack 可以使用的硬體資源

和 Docker Desktop 一樣,OrbStack 也可以設定最多可以使用多少的硬體資源,預設是記憶體 8 G,CPU 使用量一樣可以調整。

打開 OrbStack 後,點擊 apple logo 旁的 OrbStack,再點擊「Settings…」打開設定面板

 

接著切到 System 的 tab,就可以設定資源的使用量了。

3.4 设置Docker镜像源

4. 結論

已經使用 OrbStack 超過半年的時間了,剛開始使用的時候甚至還沒支援 Kurbernetes,之前用 Docker Desktop 的時候平常都不太敢開 docker,因為會拖垮整個電腦的速度,有時候 SWAP 還會超過 20 GB = =,換成 OrbStack 後 docker 平常幾乎都開著,不但工作效率提高,考試還都考一百分(咦,如果沒啥意外的話也不太可能會再回去用 Docker Desktop 了。

如果覺得我的文章有幫助的話,歡迎幫我的粉專按讚哦~謝謝你!

### 处理删除 OrbStack 后的问题或恢复方法 当决定卸载并重新安装 OrbStack 或者遇到删除后的遗留问题时,可以遵循一系列操作来确保系统的稳定性和功能恢复正常。 #### 卸载 OrbStack 并清理残留文件 为了彻底移除 OrbStack 及其配置数据,执行以下命令: ```bash brew uninstall orbstack ``` 这会卸载通过 Homebrew 安装的 OrbStack 版本。如果之前是从官方网站手动安装,则需找到对应的卸载指南[^1]。 #### 清理 Docker 数据卷和其他资源 由于 OrbStack 是基于 Docker容器管理工具,在卸载过程中可能会留下一些 Docker 资源未被清除。可以通过运行如下脚本来清理这些资源: ```bash docker system prune -a --volumes ``` 此命令将会停止所有正在运行的容器,并删除所有的网络、镜像以及挂载的数据卷。请注意该操作不可逆,请谨慎确认后再继续。 #### 验证环境状态 完成上述步骤之后,建议验证本地环境中是否存在任何与 OrbStack 相关的服务仍在后台运行。使用 `ps aux | grep docker` 来查找是否有剩余进程存在;如果有,可考虑强制终止它们以防止潜在冲突。 #### 重置 Docker 主机设置 有时即使已经完全清除了应用程序本身及其关联组件,仍然可能出现某些特定于主机端口映射或其他自定义设定影响新版本正常工作的状况。此时应该尝试重启计算机或者调整防火墙规则等措施来解决问题。 #### 重新安装 OrbStack 一旦解决了可能存在的遗留问题,就可以按照官方文档中的说明再次安装最新版 OrbStack: ```bash brew install orbstack ``` 或是访问官网获取最新的安装包进行部署。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值