SuperAPI AI 工具集

docker-sandbox

部署与运维

查看项目

更新于 10-15 17:26

技能介绍

用途:使用 Docker Desktop 的沙箱功能,在隔离的轻量虚拟机中运行智能体和命令。每个沙箱拥有独立文件系统隔离、网络代理控制和 virtiofs 工作区挂载,用于安全探索不可信包、运行外部任意代码、测试破坏性操作、隔离需要网络管控的智能体负载,以及搭建可复现实验环境。

主要能力:通过 docker sandbox create/run/exec 创建、运行和进入沙箱;支持 claude、codex、copilot、gemini、kiro、cagent 等智能体;网络代理可按域名/IP 段允许、阻止或绕过,并设置默认 allow/deny 策略,可用 network log 查看网络活动;支持停止、删除、列出、重置沙箱,用 save 保存快照为可复用模板,用 --template 指定自定义镜像。沙箱内预装 Node.js v20.x LTS、Git、Python、curl、wget、npm(全局目录 /usr/local/share/npm-global/),并暴露 /run/docker.sock 支持 Docker-in-Docker。工作区经 virtiofs 挂载,主机路径结构在沙箱内保留,智能体主目录为 /home/agent/。代理环境变量自动设置。

使用方式:需 Docker Desktop 4.49+ 与 docker sandbox 插件,可用 docker sandbox version 验证。示例:docker sandbox create --name my-sandbox claude .;docker sandbox exec my-sandbox node --version;docker sandbox run claude . -- -p "What files are in this project?";网络控制如 docker sandbox network proxy <sandbox> --allow-host example.com、--policy deny、--block-cidr 10.0.0.0/8。

限制与注意:Node.js fetch(undici)默认不读取 HTTP_PROXY 环境变量,需使用 require 钩子(如 node -r /tmp/proxy-fix.js)或改用 curl;Windows Git Bash/MSYS2 下需加 MSYS_NO_PATHCONV=1 避免路径转换;客户端版本过旧需升级 Docker Desktop(引擎 API v1.44+);Docker 更新后沙箱无法启动可执行 docker sandbox reset。其他细节资料暂未提供。