核心用法
Docker Sandbox 是 Docker Desktop 4.49+ 提供的VM级隔离执行环境,通过轻量级虚拟机实现 agent 与宿主系统的彻底隔离。核心工作流三步:创建沙箱(docker sandbox create)→ 执行命令(docker sandbox exec)或直接运行 agent(docker sandbox run)→ 清理销毁(docker sandbox rm)。支持 Claude、Codex、Copilot、Gemini、Kiro 等主流 AI agent,工作目录通过 virtiofs 高性能挂载,保持与宿主路径结构一致。
显著优点
1. 真正的硬件级隔离
不同于容器隔离,每个沙箱运行在独立轻量 VM 中,文件系统、网络栈完全隔离,即使沙箱内内核漏洞也无法逃逸至宿主。
2. 精细化网络管控
内置网络代理支持白名单/黑名单双模式:--policy deny 默认拒绝所有出站,仅放行指定域名;支持 CIDR 级别的 IP 封锁、绕过代理直连配置,以及完整的网络活动日志审计。
3. 即开即用的开发环境
预装 Node.js LTS、Git、Python、curl 及 npm 全局目录,Docker-in-Docker 支持(/run/docker.sock 挂载),满足绝大多数开发场景无需额外配置。
4. 多 agent 统一接口
单一命令格式适配不同 AI 提供商的 agent,降低团队多工具切换成本。
5. 可持久化与模板化
支持 save 命令将配置好的沙箱保存为团队共享模板,实现环境 reproducibility。
潜在缺点与局限性
- 版本门槛严格:必须 Docker Desktop 4.49+,旧版本用户需升级
- VM 启动开销:相比原生容器有额外启动时间(秒级),不适合高频短任务
- Node.js fetch 代理不兼容:原生
fetch忽略HTTP_PROXY环境变量,需额外 require hook 处理(文档已提供方案) - Windows 路径转换陷阱:Git Bash/MSYS2 会自动转换 Unix 路径,需设置
MSYS_NO_PATHCONV=1 - 资源占用:每个沙箱独立 VM,大量并行沙箱将显著消耗内存
适合人群
- 需要安全测试不可信 npm 包的安全研究人员与开发者
- 运行外部来源代码(如 AI 生成的脚本)的 AI 应用开发者
- 需要网络受限环境执行敏感操作的合规团队
- 追求可复现环境的 MLOps / DevOps 工程师
常规风险
沙箱本身不消除代码逻辑风险(如删除挂载目录内的文件),仅隔离系统层面影响。建议配合 --policy deny 网络策略使用,并定期审查 docker sandbox network log。删除沙箱为不可逆操作(rm 直接销毁 VM),重要数据需确保已同步出沙箱。