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

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

出现错误"Cannot connect to the Docker daemon at unix:///Users/ethan/.orbstack/run/docker.sock. Is the Docker daemon running?"是因为无法连接到Docker后台进程。 Docker是一个Client-Server结构的系统,Docker守护进程负责在主机上运行,并通过Socket与客户端通信。当你执行rancher-agent时,它需要与Docker守护进程进行通信,但出现了连接问题。 要解决这个问题,你可以按照以下步骤进行操作: 1. 首先,确认Docker守护进程是否正在运行。你可以使用命令`sudo service docker status`来检查Docker的运行状态。如果它没有运行,请使用`sudo service docker start`命令启动它。 2. 如果Docker守护进程已经在运行,但仍然无法连接,请检查Docker守护进程的配置文件是否正确。配置文件通常位于`/etc/docker/daemon.json`。确保配置文件中没有任何错误,并且Docker守护进程已正确配置。 3. 另外,确保你正在使用正确的Docker版本。如果你之前安装过旧版本的Docker(如dockerdocker.io或docker-engine),请按照以下命令卸载它们:`sudo apt-get remove docker docker-engine docker.io containerd runc`。然后,重新安装最新版本的Docker。 通过执行上述步骤,你应该能够解决连接到Docker守护进程的问题,并成功执行rancher-agent。如果问题仍然存在,请检查你的系统设置和网络连接,确保一切正常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Mac docker执行rancher-agent报错 cannot connect to the Docker daemon at unix:///var/run/docker.sock.](https://blog.csdn.net/gaokao2011/article/details/127979874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker&nvidia-docker快速入门学习笔记](https://blog.csdn.net/weixin_39289876/article/details/126795700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值