Davit 0.1 版本發佈:Apple Container 的原生 macOS UI

Davit 0.1 版本發佈:Apple Container 的原生 macOS UI

Davit 為 Apple 的容器平台提供原生 macOS UI

Davit 讓您可以在 Apple‑silicon Mac 上執行 Linux 容器,而無需使用 Docker Desktop,它是透過 XPC 使用 Apple 自己的容器守護程序(daemon)。該應用程式是一個極小的(約 17 MB)SwiftUI 二進位檔,免費、開源且經過公證(notarized),對於需要在 macOS 15 或更高版本上使用容器工作負載的開發者來說,是一個極具吸引力的替代方案。


直接 XPC 通訊消除中間層

Davit 透過 XPC 直接與開源的 Apple 容器守護程序通訊——這與 CLI 使用的線路路徑相同。由於沒有 Electron 外殼、網頁檢視器(web view)或背景代理程式,UI 的開銷除了容器 VM 本身之外,幾乎沒有額外負擔。

"It's 17 MB and uses the ContainerAPIClient library directly" – simonw (HN comment)


核心容器管理功能

  • 啟動 / 停止 / 重啟 / 刪除 容器,並在每一列中即時顯示 CPU、記憶體和 IP。
  • 串流日誌,具有追蹤(follow)和啟動模式(boot‑mode)選項,以及即時統計圖表。
  • 一鍵終端機,透過 Terminal 或 iTerm 在任何容器中開啟互動式 shell,繞過 CLI。
  • 編輯與重建 利用了不可變容器模型:UI 會根據舊配置預填新配置,允許快速更改連接埠、環境變數、掛載點或資源。
  • 映像檔、磁碟卷、網路 支援拉取(pulling)並顯示進度、標籤(tagging)、修剪(pruning)、調整磁碟卷大小以及自定義子網,所有操作在刪除前皆可查看使用量。
  • Platform 設定(預設 CPU/記憶體、註冊表、DNS、builder 資源)可在應用程式內進行編輯,由 Apple 的配置載入器驗證,並儲存為乾淨的 TOML 覆寫設定。

自動平台安裝

如果 Apple 容器平台不存在,Davit 會下載 Apple 的已簽署安裝程式,進行驗證並將所有內容安裝在用戶的 Library 中——不需要管理員權限。它也可以自動將 container CLI 加入您的 shell。


與 Docker Desktop 和其他替代方案的比較

  • Apple 的引擎:容器在透過 Apple 的 Virtualization framework 運行的輕量級 VM 中執行,提供亞秒級啟動速度,並針對 Apple silicon 優化過的每個容器 IP。
  • OCI 合規性:可從 Docker Hub、ghcr.io、quay.io 或任何 OCI 註冊表拉取映像檔;現有的映像檔可直接使用。
  • 零 Shim 層:直接 XPC 通訊意味著沒有 socket shims、授權協議或帳號要求。
  • 大小:整個應用程式僅約 17 MB,遠小於 Docker Desktop 數百 MB 的佔用空間。

用戶已注意到 Docker Desktop 的高記憶體使用量,並一直在尋找像 OrbStack 這樣的輕量級替代方案。Davit 的極小佔用空間和原生集成,解決了這些疑慮。

"Docker desktop is a memory hog. What's the memory usage of Davit?" – ballislife30 (HN comment)


社群回饋與早期印象

  • 正面評價:評論者稱讚其二進位檔大小很小、具備原生感,且應用程式是經過簽署/公證的。
  • 安裝體驗:用戶回報 Davit 會在首次啟動時自動下載必要的容器運行時(runtime),並與 nginx:latest 完美運行。
  • 功能請求:建議包括提供帶有示範映像檔的入門教學、類似 contained‑app 的檔案瀏覽器功能,以及直接在 UI 中開啟 Dockerfiles 的能力。
  • 比較:一些用戶將 Davit 與 OrbStack 比較,並指出 OrbStack 的集成度很高,但強調了 Davit 的開源源碼碼性質與零成本模型。

入門指南

  1. 透過 Homebrew 安裝:brew install wouterdebie/tap/davit 或從 https://davit.app 下載。
  2. 啟動應用程式;如果需要,它會下載並安裝 Apple 容器平台。
  3. 使用儀表板來拉取映像檔(例如 nginx:latest),啟動容器,並透過單擊即可開啟終端機。 [4. 探索設定面板來配置預設資源、註冊表與 DNS。

Outlook

Davit 展示了完全原生的 SwiftUI app 可以在 macOS 上提供完整的容器管理體驗,而不像 Electron-based 工具那樣臃腫-based tools 那樣臃腫。隨著 Apple 的容器生態系統成熟,像 Davit 這樣的工具很可能會成為 Apple silicon 開發者的預設工作流程,特別是是那些尋問求輕量級、開源解決方案的開發者。

Sources