技能简介
Docker沙盒(docker-sandbox)使用 Docker Desktop 的沙盒功能创建和管理隔离的 VM 环境,在独立的轻量级 VM 中运行代理和命令,支持文件系统隔离、网络代理控制和工作空间挂载。
能做什么
- 创建隔离 VM 环境运行代理(Claude、Codex、Copilot、Gemini、Kiro)
- 安全探索不受信任的包和技能
- 运行任意外部代码
- 测试破坏性操作
- 网络代理控制(允许/阻止特定域名)
- 工作空间通过 virtiofs 挂载
- 保存快照作为可重用模板
使用说明
安装 Skill:
通过 ClawHub 安装:
clawhub install docker-sandbox
前置要求:Docker Desktop 4.49+,验证:docker sandbox version
创建沙盒:docker sandbox create --name my-sandbox claude .创建 VM 隔离沙盒,包含当前目录挂载、Node.js/git 预装、网络代理控制。
执行命令:docker sandbox exec my-sandbox node --version,指定工作目录:docker sandbox exec -w /path my-sandbox bash -c "ls -la"。
直接运行代理:docker sandbox run claude . -- -p "What files are in this project?"
网络控制:允许域名:docker sandbox network proxy my-sandbox --allow-host example.com,阻止:--block-host,阻止IP段:--block-cidr 10.0.0.0/8,默认策略:--policy deny,查看日志:docker sandbox network log my-sandbox。
生命周期:创建、运行、执行、停止、删除、列表、重置、保存快照。
环境:包含 Node.js v20、Git、Python、curl/wget、npm、Docker socket(支持 DinD)。代理主目录 /home/agent/,workspace/ 为挂载目录的符号链接。
输入与输出
| 项目 | 内容 |
|---|---|
| 输入 | 代理名、沙盒名、工作空间、网络策略、命令 |
| 输出 | 沙盒ID、命令输出、网络日志、快照 |
| 适用人群 | 需要隔离环境的开发者、运行不受信任代码 |
| 不包含 | 持久化存储、生产部署、多主机编排 |
见下方输入与输出表格。
风险提示
- 需要 Docker Desktop 4.49+
- 沙盒 VM 会占用系统资源
- 网络代理可能影响某些应用
- 工作空间挂载依赖 virtiofs 性能
- 删除沙盒会销毁 VM 和其中的数据
来源信息
原始链接:https://github.com/openclaw/skills/tree/main/skills/gitgoodordietrying/docker-sandbox/SKILL.md
来源类型:GitHub
