OrbStack 設定最適化ガイド 2026 — 移行後にやるべきチューニング全12項目

OrbStack 設定最適化ガイド 2026 — 移行後にやるべきチューニング全12項目

OrbStack導入直後のデフォルト設定は最適ではない。メモリ上限・VirtioFS・ビルドキャッシュ・ローカルドメイン・Rosetta設定まで、移行後にやるべき12項目を実測データ付きで解説。

エンジニアのゆとです。

「OrbStackに乗り換えたらすごく軽くなった」で終わっている記事が多い。でもデフォルト設定のままでは半分も性能を出し切れていない。

Docker Desktopから移行した直後に設定すべき項目を、優先度順に12個まとめた。設定変更で体感できる差が出るものから書いていく。


1. メモリ上限を適切に設定する

OrbStackはデフォルトでメモリを動的に確保・解放する設計になっているが、上限がデフォルト8GBのまま使っているケースが多い。

MacのRAMに応じた推奨設定:

RAM推奨メモリ上限
16 GB6 GB
32 GB12 GB
64 GB24 GB

設定方法:

# コマンドで設定
orb config set memory 6144  # 6GB(MiB指定)

# または Preferences → General → Memory から設定

重要なのは「OrbStackが必要分だけ使う」という設計で、上限を設定しても常にその分消費するわけではない。上限はあくまで天井値。

設定後はアクティビティモニタの「OrbStack Helper」の最大値が下がっているのを確認できる。


2. VirtioFSを有効にする(File Sync最適化)

ホストマウント(-v ./src:/app/src)を使うプロジェクトで最も体感差が出る設定。

OrbStack 1.6以降、VirtioFSを使った高速ファイル同期がオプションで利用可能になっている。デフォルトはFUSEベースだが、VirtioFSに切り替えるとホストマウントの遅延が最大40%改善する。

# Preferences → General → "File Sync Optimizations" をオン
# またはコマンド
orb config set rosetta true  # Apple Silicon必須

Preferences画面: General → “Use fast file sharing (experimental)” を有効化。

有効後は docker compose exec app ls のようなファイル操作コマンドの応答速度が変わる。特にNext.jsのホットリロードが体感で速くなる。


3. Rosettaを有効にする(Apple Siliconのみ)

Apple Silicon MacでIntelイメージ(linux/amd64)を動かす機会があるなら、Rosettaを有効にする。

orb config set rosetta true

Preferences → General → “Enable Rosetta” からも設定できる。

Rosettaが無効の場合、linux/amd64 イメージはQEMUエミュレーションで動く。速度差は10倍以上。古いCI環境と同じイメージを使ってテストしたい場合など、Rosettaがないとまともに動かない。

ARM向けの公式イメージが存在しないツール(古いDBドライバ、レガシーサービスなど)でも恩恵がある。


4. CPU上限を設定する

デフォルトはCPUを制限しない設定になっている。ビルド中に全CPUを使われてUIがカクつく場合は上限を設定する。

# CPUコア数の75%に制限する例(M3 Max 16コアなら12コア)
orb config set cpu 12

# または全体の割合で指定(0.0〜1.0)
# orb config set cpu_limit 0.75

開発中に「ビルドしたらMacが重くなった」という場合はここを調整する。制限を入れるとビルド時間が若干伸びるが、他の作業への影響がなくなる。


5. ビルドキャッシュを管理する

OrbStackはDockerのビルドキャッシュをそのまま引き継ぐ。気づかないうちにビルドキャッシュが10GB以上になっているケースがある。

# 現在のディスク使用量確認
docker system df

# ビルドキャッシュだけ削除(コンテナ・イメージは残る)
docker builder prune

# 全部クリア(核オプション)
docker system prune -a --volumes

OrbStackのダッシュボード(Containers → Volumes)からもvolume単位の使用量を確認できる。

定期的に実行するエイリアスを設定しておくと管理が楽になる:

# ~/.zshrc に追加
alias dclean="docker builder prune -f && docker system df"

6. ローカルドメインを設定・活用する

OrbStackは各コンテナに .orb.local ドメインを自動割り当てする。この機能はデフォルトで有効だが、使い方を知らないエンジニアが多い。

docker compose up でサービスが起動した状態で確認:

# 割り当てられたドメインを確認
docker inspect <container_id> | grep orb.local

# または OrbStack ダッシュボード → Containers → Domains

割り当てられるドメインのパターン:

# プロジェクト名_サービス名.orb.local
myapp_app.orb.local        → http/https アクセス可能
myapp_db.orb.local:5432    → DB接続可能(postgres://...)

これを使うと localhost のポート番号管理が不要になる。複数のプロジェクトを同時に動かしてもドメインで区別できる。

HTTPSで動かしたい場合は追加設定不要。OrbStackが自動でSSL証明書を発行する(ローカル信頼済み)。

CLAUDE.mdには localhost:3000 より .orb.local ドメインを書いておくと、git worktree環境でポートが変わっても参照が壊れない。


7. named volumeをルーティングする

コンテナ内でのファイルI/Oを最大化するには、/Users/... のホストマウントを経由しないnamed volumeを使う。

# named volumeの保存先を確認
ls ~/OrbStack/docker/volumes/

node_modules.next.venv などのキャッシュ系ディレクトリをnamed volumeにすると、ホストとのファイル同期コストが消える。前の記事で書いたDocker Compose設定と組み合わせると効果が高い。

# docker-compose.yml
volumes:
  node_modules:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: ${HOME}/OrbStack/docker/volumes/${COMPOSE_PROJECT_NAME}_node_modules

~/OrbStack/docker/ 配下はコンテナのLinuxネイティブパスに直接マップされるため、ホストマウントより高速になる。


8. orb stats でボトルネックを特定する

どのコンテナがリソースを食っているか、定期的に確認する習慣をつける。

# Docker の stats と同じ感覚で使える
orb stats

# 特定コンテナのみ
orb stats myapp_db

出力例:

CONTAINER           CPU %     MEM USAGE / LIMIT     NET I/O
myapp_app           0.2%      312MB / 6.1GB          1.2GB / 800MB
myapp_db            1.8%      890MB / 6.1GB          180MB / 250MB
myapp_redis         0.0%      28MB / 6.1GB           12MB / 8MB

DBが CPU 20%以上を恒常的に使っているなら、クエリの最適化が必要。myapp_app がメモリ2GB超えてきたら、Next.jsのメモリリークを疑う。


9. コンテナの自動停止を設定する

使っていない時間帯にコンテナを動かし続けると、バッテリーとメモリの両方に影響する。

OrbStack単体では自動停止機能を持っていないが、以下のスクリプトで代替できる:

#!/bin/bash
# ~/bin/docker-suspend.sh
# 使い方: 作業終了時に実行

# 全コンテナを一時停止
docker compose -f ~/Projects/myapp/docker-compose.yml stop

# 翌朝の再開
# docker compose -f ~/Projects/myapp/docker-compose.yml start

macOSのショートカット(.command ファイル)やAutomatorと組み合わせて、「Macをスリープさせる前に実行」するフローを作っておくとバッテリー持ちが改善する。


10. Dockerログの保存場所を確認・管理する

OrbStackのDockerログはデフォルトで ~/Library/Group Containers/ 配下に保存される。長期運用で肥大化することがある。

# OrbStack関連のディスク使用量を確認
du -sh ~/Library/Group\ Containers/com.docker.docker/ 2>/dev/null
du -sh ~/.orbstack/ 2>/dev/null

# コンテナのログをフラッシュ
# (コンテナを再作成すると古いログが消える)
docker compose down && docker compose up -d

ログサイズに上限を設定:

# docker-compose.yml
services:
  app:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

これでコンテナあたりのログが最大30MB(10MB × 3ファイル)に収まる。


11. BuildKitを有効にする(デフォルト確認)

OrbStack 1.x以降はBuildKitがデフォルトで有効になっているが、古い設定ファイルが残っているとオフになっているケースがある。

# BuildKitが有効か確認
docker buildx version

# 明示的に有効化
export DOCKER_BUILDKIT=1

# ~/.zshrc に恒久設定
echo 'export DOCKER_BUILDKIT=1' >> ~/.zshrc

BuildKitが有効だとマルチステージビルドのキャッシュ効率が上がり、差分ビルドが高速になる。RUN 命令の並列実行も効く。


12. orb CLIのエイリアスを整備する

OrbStack固有の操作はコマンドで管理できる。よく使う操作をエイリアスにしておく。

# ~/.zshrc に追加
alias orbs="orb stats"                    # リアルタイムリソース確認
alias orbr="orb restart"                  # OrbStack再起動
alias orbclean="docker system prune -f"  # 不要リソース削除
alias orbdf="docker system df -v"         # ディスク使用量詳細

# git worktree + docker compose を組み合わせた作業開始コマンド
function dev() {
  local branch=${1:-main}
  local port=${2:-3000}
  git worktree add /tmp/dev-${branch} ${branch}
  cd /tmp/dev-${branch}
  APP_PORT=${port} docker compose up -d
  echo "起動完了: http://localhost:${port}"
}

まとめ

優先度順に再掲する:

優先度項目効果
1. メモリ上限全体的なメモリ効率
2. VirtioFSホストマウントのI/O速度
3. Rosetta(Apple Silicon)amd64イメージの実行速度
5. ビルドキャッシュ管理ディスク節約
6. ローカルドメイン開発の利便性
7. named volumeコンテナ内I/O速度
4. CPU上限ビルド中の干渉防止
8〜12運用品質の向上

OrbStack移行直後は「軽くなった」で満足しやすい。でも上の設定を全部入れると、さらに体感が変わる。特にVirtioFSとnamed volumeの組み合わせは、大きなコードベースを扱うほど効果が出る。

OrbStack + Docker Compose + Claude Code 実践ワークフロー 2026 — macOSエンジニアの開発環境設計
OrbStack + Docker Compose + Claude Code 実践ワークフロー 2026 — macOSエンジニアの開発環境設計OrbStackとDocker ComposeをClaude Codeと組み合わせたmacOS開発環境の設計を解説。CLAUDE.md記述パターン、git worktree並行開発でのポート分離、DBマイグレーション自動化まで、実際の運用ベースで書く。読む →
OrbStack vs Docker Desktop 徹底比較 — Macのメモリを半分取り戻す方法【2026年版】
OrbStack vs Docker Desktop 徹底比較 — Macのメモリを半分取り戻す方法【2026年版】OrbStack と Docker Desktop を料金・メモリ・機能・ユースケースの4軸で比較。個人開発者が乗り換えるべきタイミング、ライセンスが必須になる条件(年$10k超・商用・フリーランス)、Docker Desktop を残すべき理由まで正直に書く。2026年6月更新。読む →
Docker DesktopからOrbStackに3ヶ月乗り換えた結果レポート — メモリ・CI連携・ハマりどころの実測記録
Docker DesktopからOrbStackに3ヶ月乗り換えた結果レポート — メモリ・CI連携・ハマりどころの実測記録Docker Desktop から OrbStack に乗り換えて3ヶ月が経過。メモリ使用量の実測値・Docker Composeの互換性・GitHub Actions連携・日常業務でのパフォーマンス変化を正直にレポート。移行を迷っている人向けの実体験記録。読む →
← 記事一覧に戻る