みなさん、Docker使ってますか?
今のWeb開発において、Dockerは「使う・使わない」を選ぶものではなく、空気のように「そこにあって当たり前」の技術になりました。
でも、開発中にこんなストレスを感じていませんか?
- 「
docker-compose upしてから、アプリが立ち上がるまでコーヒーを淹れに行ける」 - 「Zoomを繋ぎながらDockerを動かすと、Macのファンが離陸しそうな音を立てる」
- 「新入社員の環境構築だけで、貴重な初日が潰れる」
今回は、そんな「Docker疲れ」を感じているあなたに送る、2026年時点での**「ローカル開発環境の最適解」**についてお話しします。
話題の軽量ツール 「OrbStack」 と、VS Codeの 「Dev Containers」。
これらを組み合わせることで、開発体験はどう変わるのか? そして、「ぶっちゃけ、小規模チームでも課金して乗り換える価値はあるのか?」 という、お金のリアルな話まで深掘りします。
誤解しないで!「Dockerを捨てる」わけではありません
本題に入る前に、一つだけ重要な誤解を解いておきます。
「Docker DesktopからOrbStackに乗り換える」といっても、今まで書いてきた Dockerfile や docker-compose.yml を捨てる必要は一切ありません。
車で例えるならこうです。
- 荷物(コンテナ定義): そのまま
- 運転操作(
dockerコマンド): そのまま - エンジン(実行環境): 重たいディーゼル車(Docker Desktop)から、最新のEV(OrbStack)に乗り換える
中身の技術は「枯れた(安定した)Docker」のまま。動かすための「土台」だけを、より現代的で高速なものに差し替える。それが今回のテーマです。

Part 1: 「OrbStack」は本当に救世主なのか?
長年、MacでのDocker利用といえば「Docker Desktop」一択でした。しかし、ここ数年で登場した 「OrbStack」 が、その常識を覆しつつあります。
技術選定の理由:圧倒的な「軽さ」と「速さ」
私たちが試用して驚愕したのは、そのパフォーマンスです。
従来のDocker Desktop(特にMac版)は、構造上ファイルシステムの同期(Bind Mount)が遅く、node_modules のような大量のファイルを扱う際に致命的なボトルネックになっていました。
一方、OrbStackはSwiftなどのネイティブ言語で書かれた、Mac専用の超軽量コンテナランタイムです。
Studio PuffのNext.jsプロジェクトで計測した実測値がこちら。
| 計測項目 | Docker Desktop | OrbStack | 改善率 |
| アプリ起動時間 | 約 45秒 | 約 2秒 | 20倍 |
| アイドル時メモリ | 4.2 GB | 0.3 GB | 激減 |
| コンテナビルド | 120秒 | 85秒 | 1.4倍 |
数字もすごいですが、体感が全く違います。
「アプリを起動した瞬間に立ち上がっている」。これを知ってしまうと、もう元の重さには戻れません。
【ここにOrbStackとDocker Desktopのメモリ使用量比較グラフ(Activity Monitor)のスクショを貼る】
導入は一瞬。移行コストほぼゼロ
導入はHomebrewで一発です。
Bash
brew install orbstack
起動すると「Docker Desktopのデータを移行しますか?」と聞かれます。「Yes」と答えれば、既存のイメージもボリュームもそのまま引き継げます。
移行作業にかかる時間は、カップ麺が出来上がるより早いです。
Part 2: 「Dev Containers」で環境構築をコード化する
「OrbStackで足回りを軽くする」のが物理的な改善なら、「Dev Containers」はチーム開発のソフト面での革命です。
「私のPCでは動くんですけど…」
このセリフをチームから撲滅するために、VS Codeの Dev Containers (Development Containers) を導入しましょう。
なぜ docker-compose.yml だけじゃダメなの?
Composeファイルがあればサーバー構成は共有できます。しかし、以下のような**「個人のマシンの汚れ」**までは管理できません。
- Node.jsのバージョン(nodenv? volta? homebrew?)
- ESLint / Prettier のプラグイン設定
- Gitのエイリアス設定
Dev Containersは、これらを含めた**「VS Codeの設定ごとコンテナの中に閉じ込める」**技術です。
実践:最強の devcontainer.json 構成
Studio Puffで標準採用している構成を紹介します。
プロジェクトルートに .devcontainer ディレクトリを作成し、以下のように配置します。
Plaintext
.
├── .devcontainer
│ ├── devcontainer.json
│ └── docker-compose.yml <-- 開発環境専用のcompose
├── docker-compose.yml <-- 本番/CIと共通のcompose
└── src
▼ .devcontainer/devcontainer.json のこだわり
JSON
{
"name": "Studio Puff Next.js Env",
"dockerComposeFile": [
"../docker-compose.yml",
"docker-compose.yml"
],
"service": "app",
"workspaceFolder": "/workspace",
// 【重要】Dockerfileを汚さずにツールを注入
"features": {
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/node:1": {
"version": "20.11.0"
},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
// チーム全員のVS Code設定を強制統一
"customizations": {
"vscode": {
"settings": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss"
]
}
},
// 起動後の初期化コマンド(新人さんの「npm install忘れ」を防ぐ)
"postCreateCommand": "npm install && npm run db:migrate",
"remoteUser": "node"
}
これで、新しくプロジェクトに参加したメンバーは、リポジトリをCloneして「Reopen in Container」ボタンを押すだけ。
環境構築の手順書は不要になります。
【ここにVS Code左下の「Dev Containers」接続ステータスのスクショを貼る】
現場のリアル:ハマりポイントと解決策ログ
ツールを変えれば、必ず新たなバグとの戦いが始まります。私たちが踏み抜いたエラーログを共有します。
ハマりポイント①:M1/M2 Macでの qemu クラッシュ
Apple Silicon (ARM64) 上で、古い x86_64 用のコンテナを動かすと、ビルド中に落ちることがあります。
コード スニペット
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
[error] process "/bin/sh -c npm install" did not complete successfully: exit code: 139
原因:
Rosetta/QEMUのエミュレーション変換エラーです。特に sharp などのネイティブモジュールを含む npm install で発生しがちです。
解決策:
- OrbStackの設定: 設定画面で「Use Rosetta」がONになっているか確認。
- platformの指定: どうしても動かない場合のみ、
docker-compose.ymlでプラットフォームを固定します。
YAML
services:
app:
# 最終手段としてx86を指定(基本はarm64対応イメージを探すべき)
platform: linux/amd64
※ 最近の公式イメージはほぼマルチアーキテクチャ対応しています。古い設定ファイルに無駄に platform: linux/amd64 が残っていないか確認してください。これを消すだけで爆速になることもあります。
ハマりポイント②:Gitの認証エラー
コンテナの中からGitHubへPushしようとすると…
コード スニペット
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
原因:
ホスト(Mac)のSSHキーがコンテナ内に転送されていません。
解決策:
Mac側で ssh-agent に鍵を登録する必要があります。これはPC再起動などで消えることがあるので、忘れがちです。
Bash
# Macのターミナルで実行
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
💸 コストのリアル:小規模チームは導入すべきか?
さて、ここが一番重要です。
「便利そうなのはわかった。でも、OrbStackって有料なんでしょ?」
はい。ここがDocker Desktopとの最大の分かれ目です。
それぞれの料金体系(2026年時点)を見てみましょう。
| 利用シーン | ユーザー属性 | Docker Desktop | OrbStack |
| 個人趣味 | 学習・OSS開発 | 無料 | 無料 |
| 小規模企業 | 従業員数 250人未満 売上 $10M 未満 | 無料 | 有料 ($8/月 程度) |
| 大企業 | 従業員数 250人以上 売上 $10M 以上 | 有料 ($5〜9/月) | 有料 ($8/月 程度) |
ここには「落とし穴」があります。
スタートアップや小規模チームの場合、Docker Desktopなら無料で使えるのに、OrbStackだと課金が必要になるのです。
Studio Puffの結論:使い分けの基準
私たちが出した「現場の結論」はこうです。
🅰️ スタートアップ・小規模チームの場合
→ 基本は「Docker Desktop (無料)」のままでOK!
無理に月額コストを増やす必要はありません。ただし、以下の条件に当てはまる場合はOrbStackの導入(課金)を検討してください。
- Macのスペックが低く(メモリ8GBなど)、ChromeとDockerを同時起動するとフリーズする。
- 理由: PCを買い替えるより、月$8のツールで軽量化する方が圧倒的に安上がりだからです。
- ビルド待ち時間が1日合計30分を超えている。
- 理由: エンジニアの時給を考えれば、すぐに元が取れます。
🅱️ 中規模以上のチームの場合
→ 「OrbStack」への乗り換えを推奨
Docker Desktopも有料になる規模であれば、同価格帯でパフォーマンスが圧倒的に良いOrbStackを選ばない理由がありません。
まとめ:環境構築は「頑張らない」時代へ
「枯れた技術」であるDocker。しかし、それを動かす周辺ツールは日々進化しています。
今回の記事の要点をまとめると:
- Dev Containers(VS Code)は、全チームが今すぐ導入すべき。(これは無料!)
- OrbStackへの乗り換えは、チームの規模と「待ち時間のコスト」を天秤にかけて判断する。
まずは、お財布に優しい 「Dev Containers」 の導入から始めてみませんか?
「環境構築、終わらないんだけど…」という悲鳴が、チームから聞こえなくなる日はすぐそこです。
それでは、また次回の記事でお会いしましょう!