ローカル開発用Docker環境をOrbstackに変えてみた。【序】Docker Desktopに別れを告げる?

※アイキャッチ画像はGeminiで記事タイトルを元に生成。
先般の記事にした通り、ローカル開発環境においてもしっかりLinuxが見えていて、CUIで自由に操作できないと気持ち悪いという性癖持ちな私。だもんで、長らくVagrantやUTMを使用してRHEL系のCentOS〜RockyLinuxの環境を構築してきたわけです。
ただ、最近になってようやくLaravelやらReact+NextJSなんかも触り始めたり、いろんな環境を切り替えながら使いたいという欲求も出てきて、こりゃもしやDockerの方が楽なんじゃないかと思い始めました。
ほんで、LAMP環境についてはdocker-compose-lampというのを使ってみた。超速で環境構築できた。スゲーww
ほんで、環境を丸ごとGithubのプライベートリポジトリにpushするようにしたので、Mac miniと環境やデータを共有するのも楽になった。
ということで、やっっっっっっっとDockerの良さを体感するに至ったわけだが(今更感ハンパない…)、なんだかんだ調べていると、Docker Desktopというこのアプリケーションがすこぶるクソらしい。いや自分自身はそんな感じはしないんだけど、CPUやメモリといったリソースの使い方がクソらしく、まあとにかく重いらしい。使っていくうちに気になってくるものなのかも。
ほんで、ふと偶然みた記事で「マジで、Mac OSでDocker動かすことにこだわるなら、せめてDocker DesktopやめてOrbstackかColima使えよ。」 とかいうコメントがあり、Redditのこんな記事が紹介してあったので日本語に翻訳して読んでみた結果、Orbstackというツールに興味が出てきた。
そういうわけで、やりたいことがちゃんと実現できるツールなのか、ChatGPTに相談してみた結果、docker-compose-lamp.ymlはおそらくそのまま使えるらしいし、他のやりたいことも問題なくできそうなのでやってみることにします。
以下、ChatGPTへの相談内容を最後にまとめてもらったものを貼って今回はサヨナラ。
ローカル開発環境構築に関する検討メモ
Orbstack の導入について
- Orbstack は Docker Desktop の代替として利用可能。
- Docker Desktop よりも軽量・高速でリソース効率が良い。
- 新規構築で既存データを引き継ぐ必要がなければ、デメリットは特にない。
- 今後のローカル開発環境は Orbstack ベースで構築する方針が良さそう。
外部SSDへのデータ保存
-
案件のソースコード(
www/
以下)を外部SSDに置くことは可能。シンボリックリンクでの運用
-
複数のマシンで統一パスを保つために、シンボリックリンクを利用するのが便利。
-
例:
ln -s /Volumes/SSD/lamp ~/lamp
こうすればどの Mac でも
~/lamp/docker-compose-lamp/www
でアクセスできる。
注意点
-
ディスク名の固定
- macOS は
/Volumes/<ディスク名>
にマウントする。 - ディスク名が変わるとリンク切れになるため、開発用 SSD の名前は固定しておく。
- 同名ディスクを複数接続すると
SSD 1
のように変わるので注意。
- macOS は
-
フォーマット形式
- Mac 専用なら APFS 推奨。
- exFAT は Windows 互換性はあるがパーミッションが曖昧になる。
-
ユーザー権限
- 複数の Mac で使う場合、ユーザー名が異なるとファイル所有者が変わることがある。
-
必要に応じて以下で調整する:
chown -R $(whoami) ~/lamp chmod -R 777 ~/lamp
複数 Mac での利用
- 外部 SSD を共有し、シンボリックリンクを揃えれば どの Mac でも同じ環境で開発可能。
-
想定運用フロー:
- SSD を
/Volumes/DevSSD
に接続。 -
各 Mac で
ln -s /Volumes/DevSSD/lamp ~/lamp
を実行。
- docker-compose やスクリプトは
~/lamp
を参照するので、環境差異を気にせず使える。
- SSD を
monorepo での案件管理
- 1つの LAMP 環境の
/var/www/html/
配下に複数案件を置く想定なら monorepo 一択。 - 案件ごとに別リポジトリにする必要はなく、LAMP環境も含めて1つのリポジトリで管理する。
ディレクトリ構成例
docker-compose-lamp/ ← このリポジトリ1つで全部管理
├─ docker-compose.yml
├─ config/
│ └─ vhosts/
├─ www/ ← 案件を全部ここに置く
│ ├─ projectA/
│ │ └─ public\_html/
│ ├─ projectB/
│ │ └─ public\_html/
│ └─ projectC/
│ └─ public\_html/
└─ scripts/
└─ new-project.sh
Git 管理方針
-
管理対象にするもの
docker-compose.yml
config/
(vhost 設定など)scripts/
(新規案件スクリプト)- 各案件のソースコード(
www/projectX/public_html
)
-
Git で除外するもの
- WordPress コアファイル(
wp core download
で再取得可能) - アップロードファイル(
wp-content/uploads
) - Composer / npm などの依存ディレクトリ(
vendor/
,node_modules/
)
例:
www/.gitignore
\*/public\_html/wp \*/public\_html/wp-content/uploads \*/public\_html/vendor \*/public\_html/node\_modules
- WordPress コアファイル(
メリット
- シンプルな構成: 1つのリポジトリで環境と案件をまとめて管理可能。
- 複数Macで統一環境: git + 外部SSDリンクで環境差分を減らせる。
- スクリプトで自動化:
./new-project.sh foo wp
のように即案件追加可能。
次に考えること(今後の課題)
- 本番環境へのデプロイ方法(丸ごと rsync / 個別案件ごと / CI/CD 導入 など)
- データベースの扱い(init.sql で初期化するか、dump を git 管理するか)
- - - 以上 - - -
ちなみに、OrbstockとColimaの比較についても同様にChatGPTに尋ねたところ、以下の回答が得られた。
ここでは、Mac上でDocker環境を構築する際に利用される Orbstack と Colima を比較し、それぞれのメリット・デメリットを整理します。
🚀 Orbstack
メリット
- 軽量・高速: 独自の仮想化技術を利用しており、Docker DesktopやColimaに比べ起動・停止が非常に速い。
- 省リソース: CPUやメモリ消費が少なく、バッテリー駆動のノート環境でも快適。
- GUI付き: ネイティブなGUIがあり、直感的に管理可能。
- Podmanなどもサポート: Docker互換だけでなくPodman、Kubernetesも実行できる。
- 統合感: macOSに溶け込むようなUXを提供しており、開発者体験が良い。
デメリット
- 新興プロジェクト: Docker DesktopやColimaに比べて歴史が浅く、情報量や事例が少ない。
- 依存度: Orbstack固有の仕組みに依存する部分があり、将来性や長期的な保守に不安を感じる人もいる。
- 一部制約: ネットワークやボリュームマウントの挙動がColimaと微妙に異なるケースがある。
🐧 Colima
メリット
- 軽量: Lima(macOS用の軽量VMランタイム)上に構築されるため、Docker Desktopより軽い。
- オープンソース: 活発にメンテナンスされ、透明性が高い。
- Docker互換性が高い: 既存のDocker CLIやComposeがそのまま使える。
- 設定自由度: CPU・メモリ・ディスクサイズを柔軟に指定可能。
- Kubernetesサポート:
colima start --with-kubernetes
のように簡単にセットアップできる。
デメリット
- 起動速度が遅め: Orbstackと比べると起動・停止がやや遅い。
- リソース消費: Orbstackに比べるとCPU・メモリ使用量が大きい。
- UXがシンプルすぎる: CLI中心で、GUIによる管理はない(必要ならRancher Desktopや別途ツールが必要)。
- macOS統合度が低め: OrbstackのようにmacOSにシームレスに統合されているわけではない。
🔎 まとめ
- 速度・省リソース・UIの快適さ重視 → Orbstack
- オープン性・情報量・CLIベースでの安定運用重視 → Colima
特にM1/M2 Macでは、Orbstackの軽量さと高速性が強力なメリットとして評価されやすい一方、オープンソースで広く使われているColimaは安心感があります。
👉 実際の現場では、
- 最新技術を取り入れたい個人開発者 → Orbstack
- チーム開発や長期運用の安定性重視 → Colima
という選び方になるケースが多いです。
ディスカッション
コメント一覧
まだ、コメントがありません