2026 Docker Sandboxes で OpenClaw を隔離実行:裸機・通常 Docker との基準、リソース境界、Mac クラウド 7×24 の FAQ
Docker Sandboxes は隔離と出口制御、シークレット注入の話で持ち上がっているが、OOM や uid/DNS は消えない。VPSMAC の Exit 137 記事と同じ cgroup・ボリューム衛生が先である。本稿は採用境界、三形態の対照表、再現可能な 5+1 ステップ、18789 とログ運用、openclaw doctor との切り分け順をまとめる。
1. 境界
個人検証や頻繁なソース改変なら npm/インストーラが速い。Compose で読み取り専用ルートとメモリ上限が既にあるなら、脅威モデルが許せば Sandboxes は後回しでもよい。Mac クラウドは画面なし・メモリ上限・Docker データとログが同居しがちで、抽象化コストを同時に見積もる。
- Sandboxes 向き:マルチテナント共有、スキルを不可信扱い、出口ホワイトリスト、監査用ドメイン一覧、プロキシ経由のキー注入。
- 裸機/Compose 向き:巨大 workspace IO、Docker+Sandbox CLI を未固定、頻繁なデバッグ。
ポリシーは通常のコンテナ規律の上に載る。壊れたらネットワーク方針を全部捨てる前に docker inspect とボリューム権限を見る。
compose 担当とポリシー repo のオーナーを分けると PR が片方だけ更新されやすい。イメージ更新と出口ルールを同じチェックリストに載せるか、合成ヘルスチェックで検知する。
2. 対照表
| 観点 | 裸機 | 通常 Docker | Sandboxes |
|---|---|---|---|
| 隔離 | OS ユーザー | namespace/cgroup | 強い既定境界・プロキシ親和 |
| 観測 | 直ログ | docker logs | プロキシ横付けで相関が要る |
| 性能 | 最小 | 中 | 中〜高 |
| 典型故障 | 宿主ミス操作 | uid/DNS/OOM(別記事) | 誤ポリシーで全通信不可 |
~/.openclaw マウントを先に直す。
3. 手順
- Engine/CLI・イメージ digest・ポリシー版を三重で固定。
- 設定・workspace・ログを分離マウント。uid 1000 など既存記事に合わせる。
- メモリ/CPU 上限と約 20% バースト余白。xcodebuild 同居なら時間帯分離。
- モデル API・Webhook・レジストリを列挙し default deny またはプロキシ注入。
- 18789(または公開ポート)のコンテナ内外ヘルスチェック、
start_periodを十分に。 - 成功時の
openclaw status(秘匿化)とポリシーハッシュをスナップショット。
4. Mac クラウド 7×24
再起動ポリシーにバックオフを入れ、壊れたポリシーでの再起動嵐を防ぐ。プロキシログとゲートウェイログを request id で結ぶ。セキュリティグループは SSH・公開ポート・承認 HTTPS を同時に。ホストで curl 成功・コンテナ失敗は Docker ネットワーク優先。
監視エージェントをゲートウェイと同じブリッジ視点で置かないとダッシュボードだけ緑になる。設定ボリュームのバックアップをゴールデンイメージと別管理しないと復元後に空状態で起動する罠がある。
5. 基準
数値はレビュー用の出発点であり、本番トラフィックの p95 レイテンシと RSS を 1 週間計測してから確定させる。スキルが外部 HTTP を大量に叩く場合はプロキシの同時接続上限も別メトリクスに載せ、Sandboxes 側のタイムアウトと二重に枯渇しないよう調整する。
- メモリ:軽量ゲートウェイは 4GB 起点、スキル/ローカル LLM 同居で 8GB+。
- ディスク:レイヤ・scratch・ログをシステム巻から分離、空き 10GB 割れでアップグレード停止。
- CPU:2 v CPU 以上、ビルド競合時は cgroup シェア確保。
- 18789 公開は必ず認証・ペアリング強化、社内は SSH トンネル推奨。
- ファイルディスクリプタ:チャネル多忙時はソフト上限枯渇で切断ループになり得るため、ホストとエントリポイント双方で ulimit を揃える。
6. FAQ
インシデント時は「ゲートウェイプロセス」「コンテナネットワーク」「Sandboxes プロキシ」「外部 SaaS」の四層にログ行を振り分けると早い。四層すべてに同じ相関 ID を通すだけで、チャット上の「たまに遅い」報告を再現なく切り分けやすくなる。
即 Permission denied? ボリューム uid と書き込みパス、その後 Sandboxes 拒否。
プロセスは生きているがチャネル全滅? DNS/出口 → doctor のチャネル節。
アップグレード後だけ失敗? リリースノートのパス・ネット変更を diff。
ノート PC の Sandboxes はスリープとポリシーで壊れやすい。Windows/WSL だけではパス地獄も残る。Docker は柔軟だが抽象化と性能推理のコストがある。OpenClaw を 7×24 ゲートウェイとして扱うなら、Apple 実機上の専用 Mac クラウドが SSH 運用とツールチェーン両立で有利。Exit 137 記事と本稿を連結し、cgroup・DNS・doctor・Sandbox 方針を一本の runbook にする。Linux VPS だけでは iOS/macOS ツールチェーンを置けないが、エージェント基盤の安定運用では実機 Mac レンタルが長期 TCO で勝つことが多い。