OpenClaw 2026.3.x Docker 沙箱升級、設定檔驗證與 doctor 導向排錯

2026.3.x 在 Docker 下更嚴查結構與沙箱,外掛可能改 HTTP。常見回歸:舊 setupCommand、未寫死 OPENCLAW_SANDBOX、路由指舊路徑。順序:validate → 沙箱 → setupCommand → HTTP → doctor。常駐見 遠端 Mac 部署實操

一、換映像前先跑 config validate

容器看得見的路徑驗證 openclaw.json/Compose 片段;CI 失敗要擋合併。一個 PR 只改設定或只升映像,回滾才清楚。

規則:設定與映像分開合併。

二、OPENCLAW_SANDBOX 顯式寫在 Compose/CI

各環境明確 true|false,避免本機過、CI 掛。短暫放寬用 profile 或分支 workflow,別讓寬鬆設定留在 main

三、歸一化 setupCommand

結構化條目、固定 cwd、非互動 shell;少連鎖 cd,依賴盡量進映像。單腳本 set -euo pipefail+列印版本,避免升版後健康檢查反覆跑 setup。

四、外掛 HTTP 遷移

清單、閘道前綴、反代剥離同一 PR。先容器內 curl 再 tailnet,分開綁址與 ACL。401 與連線重設不同層;PATH/cwd 漂移會像逾時/ENOENT。多儲存庫並行磁碟節奏見 DerivedData/SwiftPM 企業 FAQ

五、doctor 順序

驗證與映像就緒再跑。依序看:卷權限、側車、外掛對路由表、DNS/TLS 掃描/代理。HTTP 不符先改前綴再重跑;stdout 留工單。

  • 卷權限與容器使用者一致?
  • OPENCLAW_SANDBOX 本機/CI 一致?
  • 舊 stdio 條目已刪、HTTP 不重複?

六、高記憶體遠端 Mac 與 CI 並存

重編譯用第二台高記憶體機:乾淨目錄、同 Node 大版、同 validate/doctor。勿與預設 Runner 共用工作樹(刪 node_modules 易假陽性)。維護窗或 label 錯開尖峰;快取按 CI 節奏清。多 Job 快取見 Xcode 26 編譯快取 FAQ

為什麼 Mac mini 仍適合當分流節點

驗證與沙箱能早攔設定錯;Apple Silicon 統一記憶體利於重編譯與大快取;Gatekeeper/SIP/FileVault 收斂無人值守風險;Mac mini 待機約 4W、靜音,適合當 Docker 閘道旁的溢流機。若要獨立高記憶體又避開筆電睡眠,可開 Macstripe 首頁 選區域,以 Mac mini M4 承接重建窗、減少與 CI 搶佇列。