devAlice
← Mac

Mac の Docker — Docker Desktop vs OrbStack vs colima+Apple Silicon セットアップ

Apple Silicon Mac 上の 3 つのコンテナランタイムを比較。ライセンス、パフォーマンス、RAM 使用量、互換性 — 状況に合わせて選ぶための判断表。

「Mac で Docker」と言えば多くの人がまず Docker Desktop に手を伸ばす。しかし 2021 年のライセンス変更(従業員 250 人以上または年間収益 1,000 万ドル以上の企業には有料)以降、代替手段が急速に追いついてきた。OrbStackcolima が 2 大代替手段で、どちらも Apple Silicon でより軽量に動く。以前は Docker Desktop 一択だと思っていた。いまでは用途とライセンス条件によって最適な選択肢が異なるからこそ、判断基準を持っておくことが重要だと考える。

このガイドでは Apple Silicon(M1〜M4)+ macOS 14 以降 での 3 つのランタイムを比較し、どれを選ぶかの判断基準を示す。選んだ後は、そのランタイムのセクションで実際のインストール手順に進む。

TL;DR

ランタイムライセンスRAM(アイドル時)起動時間UIdocker composek8sApple Silicon ARM
Docker Desktop大規模組織は有料約2GB約10秒
OrbStack個人無料、企業有料約500MB約2秒✅(ネイティブ)
colimaオープンソース(MIT)約600MB約5秒❌ CLIのみ✅(任意)
  • 会社ポリシーが許可+GUI が欲しい → Docker Desktop
  • 個人マシン+高速・軽量重視 → OrbStack(強く推奨)
  • 完全無料+CLI のみでよい → colima

前提条件

  • macOS 14 以降+Apple Silicon(M1〜M4)推奨
  • Homebrew(Mac 初期セットアップ
  • 16GB RAM 以上(8GB はビルド中に詰まる)

1. 判断表 — どれを選ぶか

Docker Desktop を選ぶ場合

  • Kubernetes UI が必要 — Docker Desktop の k8s タブが最もシンプル
  • 会社の標準 — チームの選択に逆らうとトラブルシューティング時間がかかる
  • Mac と Windows が混在するチーム — Docker Desktop が最も一貫した体験

OrbStack を選ぶ場合

  • 個人マシン+コスパ重視 — 個人利用は無料、Docker Desktop より約 4 倍高速
  • 軽量 Linux VM も使いたい — OrbStack は Docker+Linux マシンマネージャーを同梱している
  • RAM を節約したい — アイドル時 約 500MB

colima を選ぶ場合

  • 商用ライセンスを避けたい — MIT オープンソース。企業利用も安全
  • 自動化ファースト — CLI のみ、設定ファイルで完全制御
  • CI / dev コンテナとの互換性 — Lima ベース、macOS とよく統合する

迷ったら OrbStack の 30 日無料トライアルから始めよう。最もスムーズな体験が得られる。


2. Docker Desktop セットアップ — 10 分

2.1 インストール

brew install --cask docker

または docker.com からダウンロード。Apple Silicon ビルドが自動的に選択される。

2.2 初回起動

Cmd + Space → Docker または Spotlight。メニューバーに 🐳 アイコンが表示されたら OK。

docker --version       # Docker version 27.x.x
docker run hello-world # 標準の hello-world コンテナ

2.3 リソースチューニング(必須)

Docker Desktop → Settings → Resources:

  • CPU: ホスト CPU の半分(8 コアマシンなら 4)
  • Memory: ホスト RAM の 25〜50%(16GB なら 4〜8GB)
  • Disk image size: 60GB 以上(イメージはすぐに溜まる)

デフォルトのアイドル時は約 2GB を消費する。上記の値に合わせてチューニングすること。

2.4 ライセンスに関する注意

組織ライセンス
従業員 250 人未満かつ収益 1,000 万ドル未満無料(個人を含む)
それを超える場合有料($9/シート/月〜)

使用前に会社のポリシーを確認すること。公式ライセンスページ


3. OrbStack セットアップ — 5 分

3.1 インストール

brew install --cask orbstack

または orbstack.dev

3.2 初回起動

OrbStack を起動 → ライセンスに同意 → すぐに Docker コマンドが使える。

docker --version       # Docker version 27.x.x (OrbStack-bundled)
docker run hello-world

Docker Desktop もインストールされている場合、PATH エントリが競合する。OrbStack を使う前に Docker Desktop を終了すること。

3.3 OrbStack の独自の強み

Linux マシン(任意) — 軽量な Ubuntu VM を 1 秒で起動。SSH も動く。

orb create ubuntu my-ubuntu
orb -m my-ubuntu        # SSH で接続

ファイルシステム連携 — コンテナファイルがホストの ~/OrbStack/ に直接マウントされる。code ~/OrbStack/docker/... でホストから直接編集できる。

自動リソーススケーリング — RAM を明示的に設定しなくてよい。使用量に応じて自動でスケールする。

3.4 ライセンス

用途価格
個人(学習、オープンソース)無料
企業(1 シート以上)$8/月(Pro)— Docker Desktop より安い

4. colima セットアップ — 10 分

4.1 インストール

brew install colima docker docker-compose

docker CLI は別途インストールが必要。colima はバックエンド VM のみを提供する。

4.2 起動

colima start
# colima が Lima VM を起動し、初回は約 500MB をダウンロードする
 
docker --version
docker run hello-world

デフォルト: CPU 2、RAM 2GB、ディスク 60GB。変更する場合:

colima start --cpu 4 --memory 8 --disk 100

~/.colima/default/colima.yaml に保存される。

4.3 ライフサイクル

colima status       # 実行中か確認
colima stop         # 停止(再起動後は再度 start が必要)
colima delete       # VM 自体を削除(イメージ+ボリュームが消える)

4.4 Kubernetes(任意)

colima start --kubernetes
kubectl get nodes   # colima ノードが 1 つ

k3s をバックエンドに使用。軽量だが、本番相当のクラスターの代わりにはならない。


5. Apple Silicon でよくある落とし穴

5.1 ARM イメージと AMD64 イメージ

公式イメージ(nodepythonnginx)はすでに ARM64 ビルドを提供している。ときどき以下のような警告が出る:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8)

対処法:

# 1) 同じイメージの ARM タグを探す
docker pull --platform linux/arm64 myimage:tag
 
# 2) 避けられない場合、AMD64 を強制(Rosetta エミュレーション — 遅い)
docker run --platform linux/amd64 myimage:tag

5.2 ボリュームマウントのパフォーマンス

macOS のファイルシステムから Linux コンテナへのマウントは、どのランタイムでも遅い。大きな node_modules や Rails アプリで特に顕著だ。

  • OrbStack: 最速(Virtio-fs 最適化)
  • Docker Desktop: VirtioFS を有効化(Settings → General → 「Use Virtio-fs」)
  • colima: colima start --mount-type virtiofs(Lima 1.x 以降)

または ソースを docker volume 内に置く — 高速だが IDE との連携が複雑になる。

5.3 buildx マルチアーキテクチャビルド

CI で AMD64 と ARM64 の両方をプッシュする必要がある場合:

docker buildx create --use --name multiarch
docker buildx build --platform linux/amd64,linux/arm64 -t myapp:latest --push .

Docker Desktop と OrbStack は buildx を同梱。colima は追加セットアップが必要な場合がある。


6. 移行 — Docker Desktop → OrbStack

イメージとボリュームはランタイムごとに分離されているため、自動移行はできない。順序:

# 1. Docker Desktop から重要なイメージ/ボリュームをエクスポート
docker save myimage:tag -o myimage.tar
docker run --rm -v mydata:/data -v $(pwd):/backup alpine \
  tar czf /backup/mydata.tar.gz -C /data .
 
# 2. Docker Desktop を終了
osascript -e 'quit app "Docker"'
 
# 3. OrbStack を起動してインポート
docker load -i myimage.tar
docker run --rm -v mydata:/data -v $(pwd):/backup alpine \
  tar xzf /backup/mydata.tar.gz -C /data

実際には移行をスキップする人が多い。OrbStack 上で docker compose up を実行するだけで、すべてが再ビルドされる。


7. 確認

選択したランタイムでこれらすべてが成功するはず:

# 1. 基本
docker --version
docker run hello-world
 
# 2. コンテナ+ポート
docker run -d --name nginx -p 8080:80 nginx
curl http://localhost:8080
docker stop nginx && docker rm nginx
 
# 3. ボリュームマウント
mkdir -p /tmp/dockertest && echo "hello" > /tmp/dockertest/test.txt
docker run --rm -v /tmp/dockertest:/data alpine cat /data/test.txt
 
# 4. compose
docker compose version
 
# 5. buildx
docker buildx version

8. トラブルシューティング

Cannot connect to the Docker daemon

  • ランタイムが実際に動いているか確認。Docker Desktop のメニューバーアイコン、orb statuscolima status
  • docker context ls — アクティブなコンテキストは正しいか?
    • 複数のランタイムがインストールされている場合、明示的に切り替える: docker context use default または colima など。

イメージのビルドが遅すぎる

  • BuildKit が有効か確認: DOCKER_BUILDKIT=1(Docker 23 以降はデフォルトで有効)
  • キャッシュを活用: Dockerfile の頻繁に変わる行を下の方に配置
  • .dockerignore でコンテキストを縮小(.gitnode_modules を除外)

docker-compose vs docker compose

  • 新(v2): docker compose(スペース区切り)。推奨
  • 旧(v1): docker-compose(ハイフン区切り)。EOL に近づいている
  • すべてのランタイムが v2 を同梱。v1 の書き方が必要な場合はエイリアス:
    alias docker-compose='docker compose'

docker run 後のメモリリーク

  • macOS Activity Monitor → com.docker.virtualization または OrbStack Helper が異常なメモリを消費
  • ランタイムを再起動: Docker Desktop 「Restart」 / orb restart / colima restart

ボリュームマウントが空で表示される

  • ホストパスのパーミッションを確認: macOS の Documents、Desktop、Downloads は明示的な許可が必要
  • System Settings → Privacy & Security → Files and Folders → ランタイムへのアクセスを許可

コンテナ内からマウントされたファイルへの書き込みで permission denied

  • コンテナの UID とホストの UID が一致していない
  • 修正: docker run -u $(id -u):$(id -g) ... または Dockerfile で USER を設定

9. 比較 — Docker Desktop vs WSL2(Mac vs Windows ユーザー)

Mac/Windows 混在チームでよくある質問。

状況推奨
Mac 個人マシンOrbStack
Mac 法人マシン(大規模組織)Docker Desktop(ライセンスあり)または colima
Windows+WSL2docker-wsl2 — ネイティブ WSL docker 推奨
チームの強制会社が選んだもの

OS 混在チームでは docker-compose.yml / Dockerfile を標準化すれば、ランタイムの差異はほぼ気にならなくなる。


参考リンク

更新履歴

  • 2026-05-16: 初稿。Docker Desktop・OrbStack・colima 比較+Apple Silicon の落とし穴+移行+6 つのトラブルシューティングケース。