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 了。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值