跨区域で Mac mini M4 をレンタルし、macOS でコンテナを回すとき、Colima(Lima VM)かDocker Desktopかで、CPU/メモリ上限・ストレージ IO・レイヤ同時 pull・ビルドキューとタイムアウト・ライセンスコストが変わります。Docker/Podman レイヤ稿はエンジン単体、本稿はデスクトップランタイム対決。Kind/minikube 稿とも接続。料金・購入・ヘルプはログイン不要です。
つまずき三つ
1 CPU/メモリ:Colima は --cpu がゲスト上限に直結しやすく、Desktop は GUI と仮想化のオーバーヘッドが乗ります。2 IO:いずれも APFS 上の大イメージへ書き込み、レイヤ展開でランダム書き込みが増えます。3 キュー:並列 pull 過多でビルドが詰まり、単一 deadline では切り分けできません。
Colima と Docker Desktop の対照表
出発帯。TCO 稿に合わせ実測で調整。
| 観点 | Colima(Lima) | Docker Desktop |
|---|---|---|
| CPU/メモリ上限 | colima start --cpu 4 --memory 8 等で明示。YAML で再現しやすい |
Settings → Resources。Apple Silicon では vCPU/RAM と swap の一体設定が中心 |
| ストレージ IO | Lima ディスク(qcow2)+ゲスト側 overlay。ホストは比較的単一路径 | Docker.raw 等単一スパースファイル。スナップショット展開が同一帯域を占有しやすい |
| 並列 pull(層) | ゲストの containerd 設定または Docker デーモン経由で max-concurrent-downloads を絞る |
daemon.json の max-concurrent-downloads、GUI の実験設定と併用注意 |
| ビルドキュー/タイムアウト | buildx の単一 builder、COMPOSE_PARALLEL_LIMIT でジョブ扇を抑える。pull 猶予は別変数 |
同様の BuildKit/compose だが Desktop のバックグラウンド更新と競合しうる。期限は pull・Ready・ビルドを分離 |
| コスト | OSS。自分でアップデートとトラブルシュート | サブスク(規模による)。サポートと GUI の対価、社内承認が取りやすい場合あり |
引用:高 RTT は層2〜4 並列から、APFS 空き 15%下限、失敗は期限より IO を先に疑う。
コピペ可能なパラメータ例
Colima 起動(検証用の目安):
colima start --cpu 4 --memory 8 --disk 60 --vm-type vz
# 例: 並列取得を抑える(パスは環境により ~/.colima/docker.sock 側の daemon に反映)
colima ssh -- sudo sh -c 'mkdir -p /etc/docker && printf %s "{\"max-concurrent-downloads\":3}" > /etc/docker/daemon.json'
Docker Desktop(macOS ホスト):~/.docker/daemon.json に同様のキーを書き、Apply & Restart。
{
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 3
}
ビルドキューとログ:
export DOCKER_BUILDKIT=1
export COMPOSE_PARALLEL_LIMIT=1
docker buildx build --progress=plain .
運用手順(五段階)
(1)ランタイムは一つ、他方のデーモン停止。(2)RTT を記録し並列層の初期値を決める。(3)CPU/メモリ割当後に docker system df とホスト空きを見る。(4)pull とビルドをログで分離しタイムアウトを個別に。(5)合意重視なら Desktop、再現性なら Colima を優先しノード費用と照合。
FAQ
詳細はページ先頭の JSON-LD FAQPage も参照ください。併読:レイヤ pull 単体のマトリクス。