提供Docker容器生命周期、镜像管理、Compose编排与网络卷管理,适合开发者日常使用。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
Coding
Docker沙箱入门工具
Try itDocker安全沙箱环境,支持隔离运行与基础资源限制,适合代码测试。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
What it does
Docker安全沙箱环境,支持隔离运行与基础资源限制,适合代码测试。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
The skill document
Docker沙箱入门工具(免费版)
概述
本工具为个人开发者提供Docker安全沙箱能力。通过容器隔离技术,创建安全的运行环境,支持资源限制、网络隔离和文件系统保护。适合安全地运行不信任代码、测试新镜像和进行开发实验.
核心能力
沙箱功能
| 功能 | 说明 | 免费版支持 |
|---|---|---|
| 容器隔离 | 独立命名空间 | 支持 |
| CPU限制 | CPU配额限制 | 支持 |
| 内存限制 | 内存上限设置 | 支持 |
| 网络隔离 | 无网络/受限 | 支持 |
| 文件系统 | 只读/临时文件系统 | 支持 |
| 多沙箱 | 多实例管理 | 不支持 |
| 快照 | 状态保存恢复 | 不支持 |
| 高级策略 | 自定义安全策略 | 不支持 |
处理: 解析沙箱功能的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回沙箱功能的响应数据,包含状态码、结果和日志.
安全隔离层级
| 层级 | 隔离内容 | 说明 |
|---|---|---|
| 进程隔离 | PID命名空间 | 沙箱内进程互不可见 |
| 网络隔离 | 网络命名空间 | 独立网络栈 |
| 文件隔离 | 挂载命名空间 | 独立文件系统视图 |
| 用户隔离 | 用户命名空间 | root映射为非特权 |
| 资源隔离 | cgroups | CPU/内存/IO限制 |
处理: 解析安全隔离层级的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回安全隔离层级的响应数据,包含状态码、结果和日志.
核心功能执行
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:Docker、安全沙箱环境、支持隔离运行与基、础资源限制、适合代码测试、面向个人开发者的、安全沙箱工具、提供隔离的容器运、行环境、支持资源限制、网络隔离与文件系、统隔离、Use、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
使用场景
场景一:安全运行不信任代码
用户输入:"在沙箱里运行这个不信任的脚本"
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | Docker沙箱入门工具处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 创建安全沙箱运行
python3 (请参考skill目录中的脚本文件) run \
--image python:3.11-slim \
--script ./untrusted.py \
--no-network \
--memory 256m \
--cpu 0.5 \
--read-only \
--timeout 60
# ...
# 沙箱自动执行并在超时后清理
场景二:测试新镜像
用户输入:"安全地测试这个新构建的镜像"
# 沙箱测试镜像
python3 (请参考skill目录中的脚本文件) test-image \
--image my-app:test \
--network restricted \
--memory 512m \
--command "npm test"
场景三:开发实验环境
用户输入:"创建一个隔离的实验环境"
# 创建实验沙箱
python3 (请参考skill目录中的脚本文件) create \
--image ubuntu:22.04 \
--name experiment \
--network none \
--memory 1g \
--cpu 1.0 \
--volume /tmp/sandbox:/data:rw
# ...
# 进入沙箱
python3 (请参考skill目录中的脚本文件) exec --name experiment
快速开始
- 阅读## 核心能力章节了解skill功能
- 按## 依赖说明配置环境
- 执行所需能力对应的命令
- 参考## 错误处理章节处理异常
- 查看## FAQ解答常见疑问
环境准备
# 依赖说明
# 见docker-toolkit安装说明
# ...
# 安装Python依赖
pip install docker
# ...
# 验证
python3 (请参考skill目录中的脚本文件) info
常用命令
# 创建沙箱
python3 (请参考skill目录中的脚本文件) create --image ubuntu:22.04 --name test --network none
# ...
# 运行脚本
python3 (请参考skill目录中的脚本文件) run --image python:3.11 --script ./test.py --no-network --timeout 60
# ...
# 测试镜像
python3 (请参考skill目录中的脚本文件) test-image --image my-app:test --command "npm test"
# ...
# 列出沙箱
python3 (请参考skill目录中的脚本文件) list
# ...
# 清理沙箱
python3 (请参考skill目录中的脚本文件) cleanup --name test
python3 (请参考skill目录中的脚本文件) cleanup --all
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
示例
沙箱安全配置
sandbox_config:
defaults:
network: "none" # none | restricted | bridge
memory_limit: "256m"
cpu_limit: 0.5
read_only: true
tmpfs_size: "64m"
timeout: 60 # 默认超时(秒)
user: "nobody" # 非特权用户
# ...
security:
no_new_privileges: true # 禁止提权
cap_drop: ["ALL"] # 删除所有capabilities
cap_add: [] # 不添加任何capability
seccomp: "default" # 安全计算模式
# ...
cleanup:
auto_cleanup: true # 超时后自动清理
cleanup_on_exit: true # 退出后清理
最佳实践
- 最小权限:删除所有capabilities,仅添加必要的
- 资源限制:始终设置CPU和内存限制,防止资源耗尽
- 网络隔离:不信任代码使用none网络模式
- 超时设置:设置合理超时,避免长时间运行
| 实践要点 | 说明 |
|---|---|
| 只读文件系统 | 配合tmpfs使用,防止写入持久化 |
| 用户隔离 | 使用非特权用户运行 |
| 自动清理 | 超时后自动删除沙箱 |
| 日志记录 | 记录沙箱内活动用于审计 |
常见问题
Q1:沙箱安全性如何?
Docker沙箱提供进程、网络、文件系统层面的隔离,能防止大部分常规攻击。但对于内核漏洞等高级威胁无法完全防护。高度敏感场景建议使用专用虚拟机.
Q2:免费版支持多沙箱吗?
免费版支持创建沙箱但不支持批量管理。如需管理多个沙箱实例,建议升级PRO版.
Q3:沙箱内的数据会丢失吗?
是的。沙箱默认使用临时文件系统,容器删除后数据丢失。需要持久化的数据需挂载外部卷(不推荐用于不信任代码).
Q4:可以运行GUI应用吗?
免费版主要支持命令行应用。运行GUI应用需要额外的X11转发配置,建议升级PRO版获取完整支持.
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Linux(推荐) / macOS(有限支持)
- Python版本: 3.8+
- Docker: 20.0+
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| Python | 运行时 | 必需 | 系统安装或conda环境 |
| docker | Python库 | 必需 | pip install docker |
API Key 配置
- 免费版无需API Key
- 所有操作通过本地Docker守护进程执行
可用性分类
- 分类: MD+EXEC(Markdown指令+Python脚本+Docker执行)
- 说明: 基于Docker的安全沙箱环境
- 免费版限制: 基础隔离、不支持多沙箱管理与快照
- 安全声明: 沙箱提供基础隔离,不保证完全安全,高度敏感场景请使用专用虚拟机
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
已知限制
- 需LLM支持,无LLM环境不可用
- 复杂业务场景建议结合人工经验判断
- 执行效率受模型能力与网络环境影响
输出格式
{
"success": true,
"data": {
"result": "Docker沙箱入门工具处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "docker sandbox"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
Related skills
提供Docker V1经典命令集与基础容器管理,适合维护旧版Docker环境的开发者。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
通过PTY方式在非交互环境中执行编程任务,支持自动应答与文件同步。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
answer questions about agentbox cloud sandboxes using the official docs. use when the user wants help with agentbox quickstart, sandbox lifecycle, timeout, c...
Podman/Docker容器检查工具,支持容器状态查询与日志分析。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
Safely use or set up the SandBase MCP server in Antigravity, Trae, Qoder, WorkBuddy, or Pi. Use when a user asks one of these clients to use SandBase, connect SandBase, install or configure the SandBase MCP, diagnose whether SandBase is connected, or finish OAuth and stdio bridge setup without expos