概要
Davit はAppleのオープンソースコンテナデーモンと直接通信する 軽量・高速なネイティブアプリ。 ElectronやWebViewを使わず、純正APIとSwiftUIで構築。 Docker DesktopやOrbStackと異なる アプローチで、Apple Siliconに最適化。 インストール・設定が簡単 で、管理者権限不要。 無料・オープンソース で、MITライセンス採用。
Davitの特徴
- Appleのオープンソースコンテナデーモン とXPC経由で直接通信
- CLIと同じ通信経路利用
- Electron/WebView/独自バックグラウンドエージェント不使用
- コンテナ管理機能
- 起動・停止・再起動・削除
- 各行にライブCPU・メモリ・IP表示
- ストリーミングログ(follow/bootモード)、ライブ統計チャート、生設定閲覧
- ワンクリックでターミナル接続
- Terminal/iTermでインタラクティブシェル起動
- CLI不要・純正API利用
- Edit & Recreate機能
- コンテナはイミュータブル設計
- 旧設定から新規作成(エントリポイント・env自動除外)
- ポート・環境変数・マウント・リソースの即時編集
- イメージ・ボリューム・ネットワーク管理
- イメージのライブ進捗付きpull、任意イメージからrun、tag/prune
- サイズ指定ボリューム・カスタムサブネット作成
- 削除前に使用状況確認
- プラットフォーム設定の編集
- 新規コンテナ用CPU/メモリ・レジストリ・DNS・ビルダーリソース
- アプリ内で編集・プラットフォームの設定ローダーで検証・TOMLで保存
インストールと初期設定
- プラットフォーム未導入時も自動セットアップ
- Appleの署名済みインストーラーを自動ダウンロード・検証・ユーザーLibraryに設置
- 管理者権限不要
- 必要に応じてcontainer CLIをシェルに追加
- 完全ネイティブ設計
- SwiftUI製、メニューバーからクイック操作
- Dockアイコンは任意表示、ライブチャートはブラウザ不要
2分で始めるDavit
- インストール方法
- Releasesからダウンロード or
brew install wouterdebie/tap/davit - 初回起動時、Appleコンテナプラットフォーム未導入なら自動セットアップ
- Releasesからダウンロード or
- デモイメージのpull
- Images → Pull Image →
nginxdemos/helloなどを入力
- Images → Pull Image →
- ポート指定で起動
- イメージのRunボタン or Containers → Run Container
- ポートマッピング(例:ホスト8088→コンテナ80)設定して実行
- ブラウザで表示
- コンテナのPorts行からOpen in Browserクリック or
localhost:8088アクセス - コンテナ内から提供されるページ表示
- コンテナのPorts行からOpen in Browserクリック or
- 詳細操作
- ライブCPU/メモリ/ディスク監視、ログストリーム、ターミナル接続、Edit&Recreateで設定変更
Docker Desktopとの違い
- Apple純正エンジン利用
- 各コンテナごとに軽量VM起動(Apple Virtualization Framework)
- サブ秒ブート・個別IP・Apple Silicon最適化
- OCI準拠
- Docker Hub, ghcr.io, quay.io等あらゆるレジストリ対応
- 既存イメージそのまま利用可能
- ダイレクト通信
- Apple純正クライアントライブラリ経由でXPC直接通信
- ソケットラッパー・ライセンス契約・アカウント不要
- 超軽量
- アプリ本体約17MB
FAQ
- メモリ消費量
- 常駐Linux VMなし
- Docker Desktopは常時大容量VM稼働、Apple公式はコンテナごとに軽量VM起動・停止
- プラットフォームの常駐サービスはアイドル時約25MB
- Davit本体はSwiftUI製でmacOSフレームワーク共有メモリ中心
- OrbStackとの比較
- OrbStackは商用・独自仮想化レイヤー
- DavitはApple公式エンジンをUI化した無料OSS
- 両者ともOCIイメージ対応
- Apple公式コンテナ基盤を使いたいならDavit、幅広いDocker互換性ならOrbStack推奨
- Macからコンテナ名でアクセス可能か
- 各コンテナに個別IP割当(Network欄で確認可)
- 名前解決にはAvahi等でmDNS/zeroconf活用(.localエイリアス)
- ネイティブな名前解決は今後実装予定
- 署名・安全性
- すべてのリリースがDeveloper ID署名・Apple notarize済み
- MITライセンスのオープンソース、ソース閲覧・ビルド可
- 通信先はローカルデーモンとGitHubアップデートチェックのみ
- container CLIは必要か
- 不要(DavitがXPCで直接プラットフォームと通信)
- プラットフォーム未導入時は初回起動で自動インストール
- 必要ならSettingsからCLI追加可能
補足
- 開発者自身が使いたいApple Containersフロントエンド
- 他のユーザーも歓迎、ソースコード公開