Davit 0.1 リリース: Apple コンテナ用ネイティブ macOS UI
Davit 0.1 リリース: Apple コンテナ用ネイティブ macOS UI
Davit は Apple のコンテナプラットフォーム向けにネイティブ macOS UI を提供します
Davit は、XPC を介して Apple 独自のコンテナデーモンを使用することで、Docker Desktop を使用せずに Apple‑silicon Mac 上で Linux コンテナを実行できるようにします。このアプリは、非常に軽量な(約 17 MB)SwiftUI バイナリであり、無料、オープンソース、かつ公証(notarized)済みです。macOS 15 以降でコンテナワークロードを必要とする開発者にとって、魅力的な代替手段となります。
直接的な XPC 通信により中間レイヤーを排除
Davit は、CLI が使用するのと同じワイヤパスを使用して、XPC 経由でオープンソースの Apple コンテナデーモンと直接通信します。Electron ラッパー、Web ビュー、またはバックグラウンドエージェントが存在しないため、UI のオーバーヘッドはコンテナ VM 自体を除いて実質的に発生しません。
"It's 17 MB and uses the ContainerAPIClient library directly" – simonw (HN comment)
コアとなるコンテナ管理機能
- Start / stop / restart / delete コンテナを、行ごとに表示されるライブ CPU、メモリ、IP と共に管理できます。
- Streaming logs は、follow および boot‑mode オプション、およびライブ統計チャートを備えています。
- One‑click terminal は、CLI を介さず、Terminal または iTerm を使用して任意のコンテナ内でインタラクティブなシェルを開きます。
- Edit & recreate は、不変コンテナモデルを活用しています。UI が古い設定から新しい設定を事前入力するため、ポート、環境変数、マウント、またはリソースの迅速な変更が可能です。
- Images, volumes, networks は、プル、進捗表示、タグ付け、削除(pruning)、サイズ指定可能なボリューム、およびカスタムサブネットをサポートし、削除前に使用状況を確認できます。
- Platform settings(デフォルトの CPU/メモリ、レジストリ、DNS、ビルダーリソース)は、アプリ内で編集、Apple の設定ローダーによって検証、およびクリーンな TOML オーバーライドとして保存されます。
自動プラットフォームインストール
Apple のコンテナプラットフォームが存在しない場合、Davit は Apple の署名済みインストーラーをダウンロード、検証、およびユーザーの Library にすべてインストールします。管理者権限は不要です。また、container CLI をシェルに自動的に追加することもできます。
Docker Desktop やその他の代替手段との比較
- Apple’s engine: Apple の Virtualization framework を介して軽量な VM でコンテナが実行されます。Apple silicon 用に最適化されており、1 秒未満の起動時間とコンテナごとの IP を提供します。
- OCI compliance: Docker Hub, ghcr.io, quay.io, または任意の OCI レジストリからプルできます。既存のイメージはそのまま機能します。
- Zero shim layer: 直接的な XPC 通信により、ソケット・シム、ライセンス契約、またはアカウント要件がありません。
- Size: アプリ全体で約 17 MB であり、数百メガバイトに及ぶ Docker Desktop のフットプリントはるかにかに小さくなります。
ユーザーは Docker Desktop の高いメモリ使用量に言及しており、OrbStack のような軽量な代替手段を探しています。Davit の最小限のフットプリントとネイティブ統合は、それらの懸念を解決します。
"Docker desktop is a memory hog. What's the memory usage of Davit?" – ballislife30 (HN comment)
コミュニティのフィードバックと初期の印象
- Positive reception: レビューアーは、小さなバイナリサイズ、ネイティブな感覚、およびアプリが署名/公証済みである点を称賛しています。
- Installation experience: ユーザーは、Davit が初回起動時に必要なコンテナランタイムを自動的にダウンロードして、どれも
nginx:latestで問題なく動作したと報告しています。 - Feature requests: リクエストは、デモイメージを使用した「始め方」チュートリアル、
contained-appに似たファイルブラウザ機能、および Dockerfile を UI 上で直接開く機能などが含まれます。 - Comparisons: 一部のユーザーは Davit を OrbStack と比較しており、OrbStack の洗練された統合を機能として挙げつつ、Davit のオープンソースであることと無料モデルを強調しています。
始め方
- Homebrew を介してインストール:
brew install wouterdebie/tap/davitまたは https://davit.app からダウンロード。 - アプリを起動します。必要に応じて Apple のコンテナプラットフォームをダウンロードしてインストールします。
- ダッシュボードを使用してイメージをプル (例:
nginx:latest)、コンテナテナントを起動、および単クリッククリックでターミナルを開きます。 - 設定ペインを開いて、デフォルトのリソース、レジストリ、および DNS を構成します。
Outlook
Davit は、Electron ベースのツールの過剰な肥大化(bloat)なしに、SwiftUI による完全なネイティブティブ macOS アプリケーションが macOS 上で完全なコンテナ管理体験を提供できることを示しています。Apple のコンテナエコシステムが成熟するにつれて、Davit のようなツールは、特に軽量でオープンソースの解決策を求める開発者にとって、Apple silicon 上でのデフォルトのワークフローとなるでしょう。