Dory: DockerおよびLinuxコンテナ向けの無料・オープンソースのネイティブmacOSアプリ
Doryは、DockerおよびLinuxコンテナ向けの無料・オープンソースのネイティブmacOSアプリで、共有VMアプローチによりOrbStackやDocker Desktopに代わる軽量な選択肢を提供します。
Doryとは?
Doryは、DockerおよびLinuxコンテナを管理するための無料・オープンソースのネイティブmacOSアプリケーションです。Docker DesktopやOrbStackに代わる軽量な選択肢として設計されており、SwiftとSwiftUIで完全に構築されています。核となるアイデアはシンプルです。コンテナごとに1つのVMを実行する代わりに、Doryはすべてのコンテナを実行する単一の永続的なLinuxマイクロVMを起動します。これにより、メモリ使用量が大幅に削減され、コンテナごとのVMアプローチと比較してアイドルメモリが約4.7倍少なくなります(例:2つのコンテナで約122 MB対約574 MB)。
なぜDoryなのか?
すべてのコンテナに1つのVM
DoryはAppleのオープンソースコンテナスタックを活用して、単一のLinuxマイクロVMを起動します。この共有VMモデルが効率性の鍵です。メモリ節約効果は実行するコンテナ数に比例して大きくなり、ローカルで複数のサービスを実行する必要がある開発者に最適です。
小さくて静か
Doryアプリ自体はわずか約6 MBです。アイドル時のCPU使用率は約0%です。バックグラウンドインデクサー、テレメトリー、不要なファンノイズはありません。これは将来の機能ではなく、設計上の制約です。
永久無料
Doryは完全に無料です。シートごとのライセンス、"商用利用"の階層、アカウント、サインインは一切不要です。GPL-3.0でライセンスされており、完全なソースコードはGitHubで入手できます。
あなたのDocker CLIはそのまま動作
Doryは~/.dory/dory.sockでDocker APIを提供し、dory Dockerコンテキストを登録します。つまり、docker run、docker compose、および既存のすべてのスクリプトやツールを変更せずに使用できます。
ネイティブ、Electronではない
DoryはSwiftとSwiftUIで構築されています。メニューバーエージェントと完全なダッシュボードを提供します。ログイン時の起動、ライトモードとダークモードをサポートし、Chromium、Node、テレメトリーの依存関係はありません。
提供される機能
Docker、完全版
- コンテナ: ライブ統計、ログ、埋め込みターミナル、環境の検査。UIまたはCLIから作成、開始、停止、再起動、削除が可能。
- イメージ: プル、コンテキストフォルダからのビルド、実行、プルーニング、レジストリサインイン、完全な検査。
- ボリューム: ファイルブラウザ付き。
- ネットワーク: サブネット、ゲートウェイ、接続されたコンテナの検査。
- Compose:
.env+ 変数補間、depends_onの順序付け、service_healthy待機を含むup/down。
Kubernetes、ワンクリック
Doryは共有VM内でk3sを実行し、選択可能なKubernetesバージョンを提供します。ポッド、デプロイメント、サービス、ConfigMap、シークレット、Ingressのためのクラスタブラウザが含まれており、すべてライブヘルス、ポッドexec、スケール/再起動/ロールアウトコントロール、およびアプリからのkubectl applyを備えています。
Linuxマシン
スナップショット、ターミナルアクセス、およびコーディング準備が整ったマシンをプロビジョニングするユースケースレシピ(Node、Python、Go、Rustなど)を備えた、完全なUbuntu、Debian、Fedora、Alpine、またはArch VMを起動できます。また、ランタイム、ツール、パッケージを自由に選択できるコンポーザーもあります。
透過的なネットワーキング
公開されたポートはlocalhostで利用可能です。すべてのコンテナに対して自動的に*.dory.localドメインが作成され、ローカルCAによってローカルHTTPSが発行されます。これらはすべて同意ベースであり、何も静かにインストールされることはありません。
x86/amd64エミュレーション
x86/amd64イメージはAppleシリコン上でエミュレーションを介して実行されます。
ゼロフリクションスタート
初回起動時には、不足している場合のAppleのオープンソースコンテナツールチェーンのワンクリックインストールを含む、すべての手順を案内します。移行機能により、Docker DesktopまたはOrbStackからイメージとコンテナをインポートします。
インストール
Homebrew
brew install --cask Augani/dory/dory
手動
リリースページから公証済みの.dmgをダウンロードし、Doryをアプリケーションにドラッグして開きます。初回起動時に残りの手順を案内します。
エンジンバックエンド
Doryは自動的にバックエンドを選択しますが、DORY_RUNTIME環境変数で上書きできます。すべてのバックエンドは1つのContainerRuntimeプロトコルを共有します。
DORY_RUNTIME |
バックエンド | モデル |
|---|---|---|
shared(サポート対象ホストではデフォルト) |
共有VM | すべてのコンテナに対して1つの永続的なdockerd-in-VM(OrbStackスタイル)。スタンドアロン:Docker不要。AppleシリコンでmacOS 26+が必要。 |
apple |
Appleコンテナ | コンテナごとに1つの軽量マイクロVM。AppleシリコンでmacOS 26+が必要。 |
docker |
Docker Engine API | 既存のDocker互換ソケット(Docker Desktop、OrbStack、Colima、Rancher Desktop、Podman)への透過的プロキシ。ホストエンジンが動作する古いmacOSやIntelでも動作。 |
mock |
モック | UI開発用のインメモリサンプルデータ。 |
要件
- Appleシリコン、macOS 15(Sequoia)以降: Dory独自のバンドルエンジン、1つの共有VM、低メモリ、Kubernetes、Linuxマシン、
*.dory.localドメインを含む完全なエクスペリエンス。他にインストールするものはありません。 - Intel Mac: Doryは、別途インストールするDocker互換エンジン(Colima、Docker Desktop、Rancher Desktop、Podman、またはOrbStack)のネイティブフロントエンド(アプリ、CLI、Dockerコンテキスト)として動作します。ネイティブIntelエンジン(Virtualization.framework経由)はロードマップにあります。
- Xcode 27以降: ソースからビルドするために必要。
ソースからのビルドと実行
scripts/build.sh # コンパイルチェック
scripts/test.sh # 完全なテストスイート
scripts/shot.sh # ビルド、起動、ウィンドウのスクリーンショット
または、XcodeでDory.xcodeprojを開いて実行します。
オプションのシステム統合
これらには1回限りの管理者権限(OrbStackが要求するものと同じ)が必要で、ユーザーが実行し、決して静かに実行されることはありません:
scripts/enable-networking.sh # *.dory.localドメイン + ローカルCAを信頼
scripts/enable-kubernetes.sh # 共有VMでk3sをブートストラップ
アーキテクチャ
Dory.app (SwiftUI)
│
▼
ContainerRuntimeプロトコル ──► { 共有VM · Appleコンテナ · Docker API · モック }
│
├─ doryd shim Docker REST API over ~/.dory/dory.sock
├─ Composeエンジン YAML → 依存関係DAG → 調整
├─ エンジンサービス ヘルスステートマシン · イベント合成 · 匿名ボリューム
└─ ネット ローカルCA(TLS) · ドメインルーター(*.dory.local) · ポート転送
すべてが依存関係軽量です:HTTP/Unixソケットトランスポート、YAMLパーサー、Docker APIクライアントとサーバーは手作りで、ビルドを小さく決定論的に保ちます。Packages/ContainerizationEngineパッケージはAppleのコンテナ化フレームワークをリンクして、Linux VMをインプロセスで起動します。
今後の予定
バックアップと復元が可能なポータブル開発マシン、エンジンへのリモートアクセス、AIエージェント用のサンドボックス環境。リリースをフォローし、何を最初に形作るかを決めたい場合はIssueを開いてください。
貢献
貢献は歓迎します。CONTRIBUTING.mdを参照してください。
ライセンス
GPL-3.0 © 2026 Doryコントリビューター。